猿问

如何使用EF的实体与业务对象关联

在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的挺多,但实际讲如何在业务上应用的少之又少)


holdtom
浏览 489回答 2
2回答

长风秋雁

对象与对象之间属性之复制 可以用一个对象映射工具 。例如 AutoMapper,EmitMapper &nbsp;。可以百度一下。
随时随地看视频慕课网APP
我要回答