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

Dan*_*ake 4 c# entity-framework

关于实体框架,我已经开始工作和学习了.以前,在处理数据访问时,我总是尝试将其保存在单独的DLL中,尝试分离我的关注点并防止数据模型类被拖入表示层.

现在,当我创建一个EDMX文件时,它进入主项目,当我将它们和相关代码移动到数据DLL中时,当我运行解决方案时编译时,在Entities构造函数或其中的基本构造函数中抛出了错误ObjectContext类.

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

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

编辑 这是我得到的错误:

Unable to load the specified metadata resource.
Run Code Online (Sandbox Code Playgroud)

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

Ωme*_*Man 6

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

将数据访问EF文件保存在单独的程序集中或Web服务后面并不罕见.虽然优先考虑是否允许POCO(模型)直接暴露.