C# 如何使用SQLite在DAL和BLL之间共享类?
例如,数据访问层定义:C# 如何使用SQLite在DAL和BLL之间共享类?,c#,sqlite,windows-runtime,C#,Sqlite,Windows Runtime,例如,数据访问层定义: public class Customer { [PrimaryKey, AutoIncrement] public int Id { get; set; } [MaxLength(30)] public string Name { get; set; } } SQLite使用这些属性映射表。问题是我需要在BLL和表示层中使用Customer类。我想隔离DAL实现,以避免向上层添加对SQLite的引用。 显然,如果我尝试在没有SQLi
public class Customer
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[MaxLength(30)]
public string Name { get; set; }
}
SQLite使用这些属性映射表。问题是我需要在BLL和表示层中使用Customer
类。我想隔离DAL实现,以避免向上层添加对SQLite的引用。
显然,如果我尝试在没有SQLite
引用的Common.dll
程序集中添加Customer
类,问题在于SQLite
属性
我可以创建另一个Customer
类,例如CustomerBase
,并将值从Customer
映射到CustomerBase
。这对我来说似乎太单调了,特别是因为我管理许多数据类
对于这种情况,建议采用哪种方法?我认为数据访问层应该与业务层DTO分离。因此,只需将您的sqllite实体放在数据访问层,然后将另一个dto(数据传输对象)放在BLL中,然后使用两个对象之间的映射即可是的,这是我在问题的最后一部分中解释的。我同意,DTO由DAL和BLL共享,但我觉得大多数DTO与sqlite实体相同。我管理了100多个DTO,这意味着至少还有100个sqlite实体,代码映射每对对象,通常属性为1=1。这对我来说太乏味了。在以前使用其他平台的项目中,我可以“重用”DAL中的dto,以创建派生dto类的新sql实体。现在,因为我需要使用这些属性,所以不能重用它们。