g18*_*18c 9 .net linq-to-entities design-patterns entity-framework
我正在使用实体框架Model-First Repository
和Unit of Work
模式,存储库返回EF POCO.
我假设我无法向由Entity Framework生成的POCO添加行为,因此我的代码现在已经充满了类似于XyzService
实现生成的Entity Framework的业务逻辑的单独类Xyz POCO
.
我有以下问题:
这有一个糟糕的代码味道,因为我不仅有EF POCO,我为每个POCO提供服务.除了许多类之外,业务逻辑还在业务实体之外分割.这是贫血反模式的一个例子吗?
如果我坚持EF,有什么方法可以添加行为(即通过部分类)或其他方式?
看到使用来自数据层的返回业务实体的持久无知模式(在我们的例子中是一个存储库),如果我想从中EF-MODEL -> REPOSITORY-DAL -> BIZ-ENTITY
看到,那么在业务实体和EF模型POCO之间会有很多双向映射.Automapper等实用程序可以优雅地处理我可能面临的嵌套对象的复杂关系吗?
为了减少与对应的EF模型实体重复的业务实体,我是不是更好地删除EF并且只为每个存储库使用LINQ to SQL编写我自己的存储库实现?
任何推荐的方式,让我专注于代码(而不是像我一样首先固定在EF模型上),然后当我准备编写持久层时,仍然使用实体框架,但避免了很多这样做的额外工作和映射?EF Code-First在这方面会更好吗?
如果我错过了其他任何可以帮助开发的技术(例如NHibernate),那么请随意提及.
归档时间: |
|
查看次数: |
954 次 |
最近记录: |