我正在使用实体框架来创建我的数据访问层,我希望我的所有类都是internal
。使用ADO.NET实体框架的内部类
我知道可以在设计人员为每个班级手动分配它。
UPDATE 我发现,我最初的发言
不过貌似这也需要设置内部修改为每一类中的每个单一的财产!我有大约30多个实体,这将是一项巨大的工作。
是错误的。我错过了当我在Entity Type
上设置访问权时,我还需要在Entity Set
上设置适当的访问权限。
您知道如何为整个模型设置“默认访问”吗?
我正在使用实体框架来创建我的数据访问层,我希望我的所有类都是internal
。使用ADO.NET实体框架的内部类
我知道可以在设计人员为每个班级手动分配它。
UPDATE 我发现,我最初的发言
不过貌似这也需要设置内部修改为每一类中的每个单一的财产!我有大约30多个实体,这将是一项巨大的工作。
是错误的。我错过了当我在Entity Type
上设置访问权时,我还需要在Entity Set
上设置适当的访问权限。
您知道如何为整个模型设置“默认访问”吗?
你想达到什么目的?如果模型中的每个类都被声明为内部的,并且它的所有属性都被声明为内部的,那么它会使你的模型无用。有些东西需要访问它并在某个时间使用它...
您是否试图阻止该模型的特定用法?有更好的方法来做到这一点。
更新: 它看起来像VS2010将允许通过T4模板的内部ObjectContext。看看这里:http://blogs.msdn.com/efdesign/archive/2009/01/22/customizing-entity-classes-with-t4.aspx
通过此'DataAccess'库中的设计类只能由另一个非常特殊的'Model'程序集使用。我将在'DataAccess'中拥有'InternalsVisibleTo'属性,所以只有'Model'可以使用它的类。 – Regent 2010-03-25 10:34:55
如果您需要将它们标记为内部,您将不得不手动修改设计器文件。如果你的模型永远不会改变,那不是一个真正的问题......但是如果它改变了,你可能会遇到设计器文件(这是自动生成的)覆盖你的改变的情况。如果你可以使用2010,看起来T4模板可以让你实现你的目标(http://blogs.msdn.com/efdesign/archive/2009/01/22/customizing-entity-classes-with-t4 .aspx) – ctorx 2010-03-25 17:37:55
你的观点似乎有限。从使用托管它们的库的库中抽象/隐藏数据层对象并不罕见。也许他以不同的方式访问它们。尽管如此,谢谢你也提供了一个链接让他去。 – 2016-11-23 16:56:45