您可以将Entity Framework 6数据库优先生成的实体设为私有吗?

时间:2019-11-04 21:38:17

标签: c# entity-framework-6

我正在使用Entity Framework 6和数据库优先生成表实体。是否可以将实体设为私有?

这是我的项目设置:

  • Project.Core
    • DatabaseFirstContext.edmx
    • Service.cs
    • DomainModel.cs
    • Repository.cs
  • Project.Web
    • HomeController.cs

我希望我的Project.Web能够看到我的DomainModel.cs,但不能看到DatabaseFirstContext.edmx生成的实体。我之所以将EF6生成的实体保留在Project.Core中,是因为它少了一层映射。这样Service.cs可以直接与生成的实体一起使用。但是我想防止Project.Core将生成的实体公开给其他项目,并防止其他开发人员公开它们。

1 个答案:

答案 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/