使用LINQ的实体中的列名称
我可以使用以下命令获取列名称:使用LINQ的实体中的列名称,linq,entity,Linq,Entity,我可以使用以下命令获取列名称: var props = typeof(FMCSA_NPR).GetProperties(); 但它也给了我与指定表有外来关系的其他表的名称 有没有办法让我只能得到列名?当在实体模型中将表作为实体引用时,我们称之为列名是什么?您可以通过访问概念模型(CSpace)列出实体的非导航属性: (其中,db是DbContext对象)。为什么您关心哪些属性属于实体的表?我只需要显示表列名,而不需要显示相关的外部表。@ItiTyagi如果您的实体具有复杂类型,存储在同一数据库
var props = typeof(FMCSA_NPR).GetProperties();
但它也给了我与指定表有外来关系的其他表的名称
有没有办法让我只能得到列名?当在实体模型中将表作为实体引用时,我们称之为列名是什么?您可以通过访问概念模型(
CSpace
)列出实体的非导航属性:
(其中,
db
是DbContext对象)。为什么您关心哪些属性属于实体的表?我只需要显示表列名,而不需要显示相关的外部表。@ItiTyagi如果您的实体具有复杂类型,存储在同一数据库表中,该怎么办?例如,Address
属性,它存储在Address\u City
和Address\u Zip
列中?我不知道什么是复杂类型,我只知道我需要显示列名,就像Address一样,我将Address拆分为多个字段。@ItiTyagi-See。此外,若不使用属性进行映射,则无法知道属性是否映射到数据库
var oc = ((IObjectContextAdapter)db).ObjectContext;
var cs = oc.MetadataWorkspace.GetEntityContainer(oc.DefaultContainerName,
DataSpace.CSpace);
foreach (var entitySet in cs.EntitySets)
{
var props = string.Join(",", entitySet.ElementType.Properties);
Trace.WriteLine(string.Format("{0}: {1}", entitySet.Name, props));
}