我有:
)
BLL层中的My服务将实体转换为数据传输对象,并将数据传输对象返回到UI层。UI层还将数据传输对象传递给BLL服务。
我应该将数据传输对象放置在BLL层中还是创建一个单独的层?
发布于 2020-11-27 02:09:31
每个层都应该有自己的模型/视图模型。
持久化层具有EF实体。这些不应该浮到上层。否则,你将永远和EF联系在一起。
BL包含您的域模型。持久化层将负责映射实体->域模型(反之亦然)。
UI有自己的ViewModels并负责映射。
现在,您可以使用域模型类作为EF实体,实现所谓的“持久性无知”。这通常需要一些“魔力”,通常是通过避免属性(如Table、ForeignKey等)中任何特定于库的数据注释属性来实现的。db映射通过IEntityTypeConfiguration
处理。
https://stackoverflow.com/questions/65000820
复制相似问题