我应该在另一个命名空间中使用实体框架 DBContext 的部分类吗

Posted

技术标签:

【中文标题】我应该在另一个命名空间中使用实体框架 DBContext 的部分类吗【英文标题】:Should I use a partial class for Entity Framework DBContext in another namespace 【发布时间】:2013-06-25 08:56:22 【问题描述】:

我的解决方案中有两个项目:

项目 1:主 Web 项目(命名空间:MVCWebsite)[大] 项目2:Daemon项目(用于计划任务)(命名空间:MVCDaemon)[small] [justcodingnow]

项目 1 有一个 EF DBContext,项目 2 将有 EF 集合(在相同的上下文中,因为它使用项目 1 的集合)。

构建这个的最佳方式是什么?

我是否应该在项目 2 中有一个与项目 1 具有相同命名空间的类,并使用项目 1 的 DBContext 的部分类。

E.G,项目 1:

namespace MVCWebsite.Models

    public partial class BaseDBContext : DbContext
    
    

&项目2:

namespace MVCWebsite.Models

    public partial class BaseDBContext : DbContext
    
    

I.E 在项目中拥有 namespace.class 文件绝对是不合时宜的,因此正常的命名空间是另外一回事!!

这是一件可怕/危险的事情吗?有没有更好的方法来构建这个?

【问题讨论】:

【参考方案1】:

所有部分类代码文件必须位于同一个程序集中。

希望这能让你更容易做出决定。

更好的解决方案是创建第三个项目,其中包含 DBContext 类的完整定义以及从 Daemon 项目和 Web 项目引用的所有集合。

【讨论】:

嗯,此刻,它们在不同的程序集中。但它似乎编译得很好......

以上是关于我应该在另一个命名空间中使用实体框架 DBContext 的部分类吗的主要内容,如果未能解决你的问题,请参考以下文章

在实体框架中更改命名空间

如何在另一个 C++ 命名空间内的全局命名空间中定义朋友?

从命名空间调用方法以在另一个 javascript 文件中使用

在另一个命名空间中自动加载命名空间时出错

类文件如何使用命名空间和使用包含在另一个文件 php 中?

如何在另一个项目中分离实体框架