4

我已经开始研究和学习 Entity Framework。以前,在处理数据访问时,我总是尝试将其保存在单独的 DLL 中,试图分离我的关注点并防止数据模型类被拖入表示层。

现在,当我创建一个 EDMX 文件时,它会进入主项目,当我将它们和相关代码移动到数据 DLL 中时,当我运行解决方案时编译它时,在实体构造函数或更确切地说是它的基础构造函数中抛出了一个错误ObjectContext 类。

是否有可能实现这种完全分离?

我看到这个问题似乎是相关的,但阅读评论似乎只有部分分离。

编辑 这是我得到的错误:

Unable to load the specified metadata resource.

找到了这个答案,所以我会看看这是否能解决我的问题。

4

1 回答 1

6

只需在另一个程序集中重新创建 edmx 文件,而不是复制它。只要知道使用该程序集的任何程序集/程序都需要使其应用程序或 Web 配置文件包含数据库连接字符串,该字符串与在 edmx 的应用程序配置文件中创建的名称相同。

将数据访问 EF 文件保存在单独的程序集中或 Web 服务后面的情况并不少见。尽管是否允许直接暴露 POCO(模型)是一个偏好问题。

于 2013-09-18T11:53:33.893 回答