例如,数据访问层定义:
public class Customer
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[MaxLength(30)]
public string Name { get; set; }
}
SQLite
使用这些属性来映射表。问题是我需要在BLL中以及表示层中使用Customer
类。我想隔离DAL实现,以避免向上层添加对SQLite
的引用。
显然,如果我尝试在没有Customer
引用的Common.dll
程序集中添加SQLite
类,则问题是SQLite
属性。
我可以创建另一个Customer
类,例如CustomerBase
,并将值从Customer
映射到CustomerBase
。对我来说这似乎太乏味了,因为我管理了很多数据类。
这种情况可以推荐哪种方法?
答案 0 :(得分:1)
我想说数据访问层应该与业务层dtos分开。因此,只需将您的sqllite实体放在数据访问层中,然后将另一个dto(数据传输对象)放在BLL中,然后使用两个对象之间的映射