Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#设计如何优雅地包装DAL类_C#_Database_Design Patterns_Oop_Data Access Layer - Fatal编程技术网

C#设计如何优雅地包装DAL类

C#设计如何优雅地包装DAL类,c#,database,design-patterns,oop,data-access-layer,C#,Database,Design Patterns,Oop,Data Access Layer,我有一个应用程序,它使用MyGeneration的Doodas ORM生成数据访问层。dOODad的工作原理是为数据库中的每个表生成一个持久性类。它是这样工作的: // Load and Save Employees emps = new Employees(); if(emps.LoadByPrimaryKey(42)) { emps.LastName = "Just Got Married"; emps.Save(); } // Add a n

我有一个应用程序,它使用MyGeneration的Doodas 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)的细节,或者这是可以接受的?是否可以实现某种形式的存储库模式?请记住,这是一个高容量、性能关键的应用程序

谢谢,
j

尝试设计一个界面,其中包含您希望DAL公开的方法。将客户端代码绑定到接口