我正在使用Entity Framework 6和数据库优先生成表实体。是否可以将实体设为私有?
这是我的项目设置:
DatabaseFirstContext.edmx
Service.cs
DomainModel.cs
Repository.cs
HomeController.cs
我希望我的Project.Web
能够看到我的DomainModel.cs
,但不能看到DatabaseFirstContext.edmx
生成的实体。我之所以将EF6生成的实体保留在Project.Core
中,是因为它少了一层映射。这样Service.cs
可以直接与生成的实体一起使用。但是我想防止Project.Core
将生成的实体公开给其他项目,并防止其他开发人员公开它们。
答案 0 :(得分:0)
对我来说,这很奇怪,无法隐藏实体。无论如何,您需要T4 Templates
。
教程: https://www.dotnettricks.com/learn/entityframework/using-t4-templates-in-entity-framework
另请参阅:https://docs.microsoft.com/en-us/ef/ef6/modeling/designer/codegen/