C#Design如何优雅地包装DAL类

时间:2010-04-29 21:07:51

标签: c# database design-patterns oop data-access-layer

我有一个应用程序,它使用MyGeneration的dOODads ORM来生成它的数据访问层。 dOODad的工作原理是为数据库中的每个表生成一个持久性类。它的工作原理如下:

// Load and Save  
Employees emps = new Employees();  
if(emps.LoadByPrimaryKey(42))  
{  
    emps.LastName = "Just Got Married";  
    emps.Save();  
}  


// Add a new record  
Employees emps = new Employees();  
emps.AddNew();  
emps.FirstName = "Mr.";  
emps.LastName = "dOOdad";  
emps.Save();  

// After save the identity column is already here for me.  
int i = emps.EmployeeID;  

// Dynamic Query - All Employees with 'A' in thier last name  
Employees emps = new Employees();  
emps.Where.LastName.Value = "%A%";  
emps.Where.LastName.Operator = WhereParameter.Operand.Like;  
emps.Query.Load();   

对于上面的例子(即Employees DAL对象),我想知道在我的类上抽象一些实现细节的最佳方法/技术是什么。我不相信Employee类在其方法中应该具有Employees(DAL)细节 - 或者这可能是可以接受的?是否可以实现某种形式的存储库模式?请记住,这是一个高容量,性能关键的应用程序。

谢谢, Ĵ

1 个答案:

答案 0 :(得分:0)

尝试使用您希望DAL公开的方法的界面。让您的客户端代码绑定到接口。