【发布时间】:2013-01-25 10:27:02
【问题描述】:
我正在使用 Entity Framework 电动工具对现有数据库中的代码进行逆向工程。我的数据库中有多个模式,但我只想为 dbo 模式生成类。我如何自定义它
【问题讨论】:
标签: entity-framework
我正在使用 Entity Framework 电动工具对现有数据库中的代码进行逆向工程。我的数据库中有多个模式,但我只想为 dbo 模式生成类。我如何自定义它
【问题讨论】:
标签: entity-framework
您必须编辑逆向工程师模板。我为 Entity Framework 6 做了以下工作。
在 Context.tt 上,架构当前不可用,因此必须手动删除不需要的代码..
在 Entity.tt 和 Mapping.tt 上,您必须在此处更改代码。
var efHost = (EfTextTemplateHost)Host;
var code = new CodeGenerationTools(this);
到
var efHost = (EfTextTemplateHost)Host;
if((string)efHost.TableSet.MetadataProperties["Schema"].Value == "dbo"){
var code = new CodeGenerationTools(this);
然后在这两个文件的末尾放置一个右括号。
<#
}
#>
将“dbo”更改为您想要的任何内容。
【讨论】:
您可以使用 T4 模板(在 Entity Framework 菜单 > Customize Reverse Engenieer Templates)。在您可以测试架构的那些上: if (efHost.TableSet.MetadataProperties["Schema"].Value == "Correct Schema") // generate
【讨论】: