我在搞乱EF4.1。我想将我的域和我的 DAL 分开。我的域包含基本实体类和存储库接口。DAL 包含这些存储库的实现。
我的问题是我必须编辑我的域才能使用 EF。例如,具有“地址”的“人员”现在具有“地址 ID”和“虚拟地址”。我现在也在我的领域层中保留注释。我对此不太满意,因为这意味着我正在更改应用程序的核心以使用 EF。我还引入了不相关的数据,因为地址不需要在我的应用程序上下文中具有 ID;仅在数据库中。如果明天我写一个新的 DAL 层从 Web 服务或 XML 文件或其他东西中获取我的对象怎么办?
有没有解决的办法?我正在考虑将 EF 实体保留在 DAL 层中并将它们映射到存储库中的域类,但这不会对性能造成巨大影响吗?