2010-04-29 22 views
1

我有一个应用程序使用MyGeneration的doodads ORM来生成它的数据访问层。 doodad通过为数据库中的每个表生成一个持久性类来工作。它的工作原理就像这样:C#设计如何优雅地包装一个DAL类

// 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(); 

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

感谢, Ĵ

回答

0

尝试想出你会想你的DAL暴露方法的接口。让你的客户端代码绑定到接口。