为实体类(POCO类)和DBContext类创建单独的项目

时间:2015-02-17 22:29:42

标签: c# .net entity-framework-6

我使用实体框架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文件自定义工具命名空间?

1 个答案:

答案 0 :(得分:0)

为什么不使用Code-First连接到现有的数据库?然后,您可以完全控制Models和DbContext的位置。