将实体框架 EDMX 类移动到单独的数据层 DLL 中



我已经开始研究实体框架。以前,在使用数据访问时,我总是尝试将其保存在单独的 DLL 中,试图分离我的担忧并防止将数据模型类拖入表示层。

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

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

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

编辑这是我得到的错误:

Unable to load the specified metadata resource.

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

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

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

相关内容

最新更新