在EF Power Tools代码反向工程中指定模式名称

3

我正在使用Entity Framework工具从现有数据库中反向生成代码。我的数据库中有多个模式,但我只想为dbo模式生成类。我该如何进行自定义?

2个回答

4

你需要编辑反向工程模板。我已经为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”更改为您想要的任何内容。


1
这些天我在使用 EntityFramework Reverse POCO Generator 扩展。它很容易也很灵活。 - Chris

1

您可以使用T4模板(在实体框架菜单上>自定义反向工程模板)。 在这些模板上,您可以测试模式:如果(efHost.TableSet.MetadataProperties [“Schema”] .Value ==“正确的模式”)//生成


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接