根据我的申请,我需要将我的业务实体与EF4创建的实体分开。我需要限制实体只访问存储库,从它们转换(使用转换器)到业务和服务层共享的业务实体。我想通过将它们指定为内部来限制它们。现在我的应用程序中有超过40个实体,因此手动将它们设置为内部是一项困难的工作。在其中一个论坛中,答案建议使用T4模板。但即使这些模板也从实体框架访问说明符中读取。当我尝试手动尝试将所有属性和类访问说明符指定为内部时,它给出了一个错误,说实体集也应该设置为内部,但没有相同的选项。 我正在使用VS 2010和Entity Framework 4.任何建议???
答案 0 :(得分:1)
单击Data Model.edmx的白色背景。在属性部分中查找“实体容器访问”并将其更改为“内部”。
答案 1 :(得分:0)
难以进行搜索并使用正则表达式替换?右键单击EDMX,以XML格式打开,然后按Ctrl + H.
示例搜索字符串是:
\<EntityType:b{.+}\>
示例替换字符串是:
\<EntityType \1 a:TypeAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" \>
为简单起见,我没有检测到现有的TypeAccess
。您可以根据需要使正则表达式变得复杂。
你必须选中该框告诉VS使用正则表达式。