【发布时间】:2015-02-17 22:29:41
【问题描述】:
我使用实体框架 6.1 生成了我的数据库层(数据库优先实体模型)。现在生成的所有类都在同一个项目以及同一个命名空间中,即 Example.DataAccessLayer。为了分离关注点,我已将 Model.tt 文件下的实体类(POCO 类)移动到单独的项目和命名空间 Example.DataModel 下。我这样做的原因是因为那时我可以在我的网站中使用 Example.DataModel 项目,这样 DbContext 类是不可见的,并且所有数据管理都是通过我的业务层(即 Example.BusinessLayer)完成的。
现在,我必须将我的 Example.DataModel 项目的引用提供给 Example.DataAccessLayer。正如一些教程中所建议的那样,在这样做之后,必须将 MyModel.Context.tt 文件的自定义工具命名空间更改为 Example.DataModel 以便实体类可见。但是通过这样做,DBContext 和 DataModel 将位于与 Example.DataModel 相同的命名空间下。
现在的问题是,有没有一种方法可以在单独的项目和单独的命名空间中使用我的上下文和实体类生成我的实体模型,而无需提供我的 DBcontext.tt 文件自定义工具命名空间?
【问题讨论】:
标签: c# .net entity-framework-6