Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用LINQ的实体中的列名称_Linq_Entity - Fatal编程技术网

使用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));
}