我已经开始工作和学习 Entity Framework 。以前,在处理数据访问时,我总是尝试将它保存在一个单独的 DLL 中,试图分离我的关注点并防止数据模型类被拖入表示层。
现在,当我创建一个 EDMX 文件时,它进入主项目,当我将它们和相关代码移动到数据 DLL 中时,当我运行解决方案时编译它时,实体构造函数或更确切地说是它的ObjectContext 类中的基本构造函数。
是否有可能实现这种完全分离?
我看到了this question which appears to be related但阅读评论似乎只有部分分离。
编辑 这是我得到的错误:
Unable to load the specified metadata resource.
我已经 found this answer所以我会看看这是否能解决我的问题。
最佳答案
只需重新-在另一个程序集中创建 edmx 文件,而不是复制它。只需知道任何使用该程序集的程序集/程序都需要让其应用程序或 Web 配置文件包含数据库连接字符串,该字符串与在 edmx 的应用程序配置文件中创建的名称相同。
将数据访问 EF 文件保存在单独的程序集中或在 Web 服务后面的情况并不少见。尽管是否允许直接公开 POCO(模型)是一个偏好问题。
关于c# - 将 Entity Framework EDMX 类移动到单独的数据层 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867633/