实体框架:[使用内部访问说明符设置所有实体]

时间:2010-05-27 12:17:52

标签: entity-framework access-modifiers

根据我的申请,我需要将我的业务实体与EF4创建的实体分开。我需要限制实体只访问存储库,从它们转换(使用转换器)到业务和服务层共享的业务实体。我想通过将它们指定为内部来限制它们。现在我的应用程序中有超过40个实体,因此手动将它们设置为内部是一项困难的工作。在其中一个论坛中,答案建议使用T4模板。但即使这些模板也从实体框架访问说明符中读取。当我尝试手动尝试将所有属性和类访问说明符指定为内部时,它给出了一个错误,说实体集也应该设置为内部,但没有相同的选项。 我正在使用VS 2010和Entity Framework 4.任何建议???

2 个答案:

答案 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使用正则表达式。