我的问题是我必须从现有数据库导入我的实体。 DB具有模式,并且一些表在不同模式中共享相同的名称。当这个生成模型时,我得到了MyTable和MyTable1(如果这就是他们所说的那样)。
我想做的是将它们命名为MyTable,如果它使用dbo架构,但如果它是任何其他架构使用架构名称作为前缀,例如。 MySchema_MyTable。
我知道我可以通过更改设计器中的名称来手动执行此操作,但这可能不仅仅由我自己处理,并且将向此数据库添加更多表和模式。所以我想强制执行这个命名约定。
我在想最好的方法是使用t4模板。我可以轻松地更改它以添加前缀,这是有效的,但我不知道如何获取该特定实体的数据库模式名称。 T4模板没有intellisense。
我很感激你的建议。
谢谢,
答案 0 :(得分:2)
您可以使用TiraggoEdmx获取数据库信息。请参阅http://brewdawg.github.io/Tiraggo.Edmx/您可以通过Visual Studio中的NuGet进行安装,它可以提供Microsoft隐藏的EDMX文件中的所有元数据,非常简单,效果很好。