我正在使用分层架构开发项目。我有一个DAL,其中我正在使用Entity Framework,这是一个业务逻辑层,它使用DAL和应用层返回的对象。
我不完全确定我在考虑这个问题,所以我只会问你的想法。
我的DAL基于地图制作者。我有类型 - 映射器 - BLL用来操作我的数据。这些映射器返回DTO,因为我不想向我的BLL公开任何EF对象,因此它们的实现不依赖于EF来工作。
所有这些映射器都在单个“表”上执行CRUD操作,如:
using (var contex = new EFEntities()){
var obj = (from x in context.Table where x.ID == param select x).SingleOrDefault;
return Map(x.ToList());
}
Map 方法将EF对象映射到DTO,DTO只有一些属性可以映射我想要公开的值。
有更优雅的方法吗?我只是使用EF来方便访问我的数据库 - 我不必编写任何ADO.NET代码。
欢迎提出任何意见。
感谢。
答案 0 :(得分:0)
我有一个我正在使用的DAL 实体框架,一种业务逻辑 消耗对象的图层 由DAL和应用层返回。
这是一种变态,因为你将一个完整的对象层放入你的DAL中。 EF不仅仅是DAL。
消耗的业务逻辑层 DAL返回的对象和 应用层。
你可能想要查找的术语是“贫血对象模型”,这不是一个好词。
是否有更优雅的方法 此?
不要打EF。如果你不喜欢它,不要使用它 - 周围有很多更好的框架。