2013-01-07 69 views
0

例如,数据访问层限定:如何使用SQLite在DAL和BLL之间共享类?

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和值映射从CustomerCustomerBase。对我来说这似乎过于单调,特别是因为我管理了许多数据类。

哪种方法可以推荐这个方案?

回答

1

我想说的数据访问层应该从企业层DTOS分开。因此,只要有你sqllite实体数据访问层中,然后在另一个BLL DTO(数据传输对象),然后使用两个对象

+0

是之间的映射,这是我在我的问题的最后部分解释。我同意,dtos由DAL和BLL共享,但我认为它们大部分与sqlite实体相同。我管理超过100个dtos,这意味着至少有100个以上的sqlite实体,以及映射每对对象的代码,通常属性为1 = 1。对我来说似乎太乏味了。在我以前使用其他平台的项目中,我可以在我的DAL中“重复使用”dto以创建一个新的导出dto类的sql entiry。现在,因为我需要使用这些属性,所以我无法重用它们。 –