如何使用dbSchema Entity框架为类名添加前缀

时间:2012-07-06 10:52:28

标签: c# entity-framework t4

我的问题是我必须从现有数据库导入我的实体。 DB具有模式,并且一些表在不同模式中共享相同的名称。当这个生成模型时,我得到了MyTable和MyTable1(如果这就是他们所说的那样)。

我想做的是将它们命名为MyTable,如果它使用dbo架构,但如果它是任何其他架构使用架构名称作为前缀,例如。 MySchema_MyTable。

我知道我可以通过更改设计器中的名称来手动执行此操作,但这可能不仅仅由我自己处理,并且将向此数据库添加更多表和模式。所以我想强制执行这个命名约定。

我在想最好的方法是使用t4模板。我可以轻松地更改它以添加前缀,这是有效的,但我不知道如何获取该特定实体的数据库模式名称。 T4模板没有intellisense。

我很感激你的建议。

谢谢,

1 个答案:

答案 0 :(得分:2)

您可以使用TiraggoEdmx获取数据库信息。请参阅http://brewdawg.github.io/Tiraggo.Edmx/您可以通过Visual Studio中的NuGet进行安装,它可以提供Microsoft隐藏的EDMX文件中的所有元数据,非常简单,效果很好。