在ADO.net Entity Framework中得到的只是一个个实体,但是实体是没有业务逻辑的,因此在使用时要把实体的内容逐一复制到业务对象的属性里,这不很麻烦嘛,有什么简单方法可以迅速获得完整的(也就是数据已就绪的)业务对象?
例如:有雇员表Employees,里面有Name、Title、Dept三个域,你可以通过EF轻松建立起Employees实体。但是实际应用的Employee对象应该处理属性还有方法,如:
public EmployeeClass Employee
{
public string Name {get; set;}
public string Title{get; set;}
public string Dept {get; set;}
public void SubmitWorkSheet(WorkSheet sheet) {}
public List<Task> GetTaskToDo() {}
}
现在只能是将实体的每项域内容逐一赋值给这个Employee类,因为实体本身并不带有业务逻辑而可以直接使用。如果是这样,还不如直接通过SqlCommand读取数据逐一赋值,需要EF这个大家伙干嘛?!
有什么好方法比较容易获得数据就绪的业务对象呢?请指教了。(好像园子里讨论EF的挺多,但实际讲如何在业务上应用的少之又少)
对象与对象之间属性之复制 可以用一个对象映射工具 。例如 AutoMapper,EmitMapper 。可以百度一下。