Pau*_*ulP 4 c# linq entity-framework
我正在尝试获取实体的SQL表名称.当我使用MetadataWorkspace查询时,我从对象或存储空间获取大量信息.但架构名称和表名称不存在.
我尝试查询CSpace和SSpace的所有EntityType对象,我可以看到两者都正确列出,但我无法弄清楚如何从CSpace获取SSpace.
所以说我在对象模型中有一个名为User的类型 - 如何在数据库中找到带有模式名称(tkp.User)的表名?
有没有办法做到这一点?
没有perfect答案,但这应该工作......
var ssSpaceSet = objectContext.MetadataWorkspace
.GetItems<EntityContainer>(DataSpace.SSpace).First()
.BaseEntitySets
.First(meta => meta.ElementType.Name == "YourEntityName");
Run Code Online (Sandbox Code Playgroud)
如果在调试器中查找,Table属性应该具有真实的表名.
你需要
reflection在最后一部分使用.
好消息是它应该透明地使用EF6(因为它有类似的基类)
(它的相似之处schema,也应该在那里 - 这是spaceDb/SQL映射名称,facet等)
查看我的这篇文章,其中包含许多详细信息
Get Model schema以使用不支持CreateDatabase的提供程序以编程方式创建数据库
| 归档时间: |
|
| 查看次数: |
5853 次 |
| 最近记录: |