c# – 列序列和实体框架

因此,当您将实体对象的集合绑定到网格组件时,网格会按照它们来自的SQL表中的顺序显示这些字段.这表明字段的序数位置与它们对应的实体属性相关联……不知何故或其他.

所以问题是:如何通过反映实体框架实体的属性来获取表字段序号位置?

让我告诉你我所知道的以及我所尝试的内容.显然,EF实体中的每个数据字段属性都使用System.Runtime.Serialization.DataMemberAttribute进行修饰.此属性似乎具有Order属性.但是,我发现此属性不包含我要查找的内容.实体中所有数据属性的值似乎为-1.什么命令,它不是顺序位置.

有人处理过吗?

最佳答案 关系数据属性没有顺序也没有顺序.表中的列没有顺序,也没有顺序(物理实现协助).结果集列位置对应于特定查询,基于查询的投影列表,应用程序始终知道序数,因为它知道它要求的投影列表.

如果要在网格中按特定顺序显示列,请按所需顺序显示它们.如果要在物理存储中检索未在开发时知道的即席查询的列序号,那么您将使用某种特定于存储的机制直接与物理存储进行内部交互.例如,如果存储是SQL Server,您将查看sys.columns.

点赞