将实体框架数据转换并映射/添加到用户定义的类

时间:2017-04-18 20:56:04

标签: c#-4.0 entity-framework-6



List < Special > spl = new List < Special > ();
DBEntities entity = new DBEntities();
DateTime ? startDate = Convert.ToDateTime("2017-01-01");
DateTime ? end = Convert.ToDateTime("2017-04-18");
IEnumerable < Object > splist = entity.spGetData(startDate, end, "AAA").ToList();

public class Special {
  public int ? NO {
    get;
    set;
  }
  public string[] SNo {
    get;
    set;
  }
  public string[] Div {
    get;
    set;
  }
  public string[] ITEMO {
    get;
    set;
  }
  public DateTime ? DDT {
    get;
    set;
  }

}
&#13;
&#13;
&#13;

我有一个存储过程,它返回一些我通过实体框架访问的记录集。但返回类型是 system.data.entity.core.objects.objectresult ,我想将其映射/添加到我的用户定义的类。它说的是无法转换类型的对象..... 我将它转换为IEnumerable List但是我想遍历每个记录并创建我自己的自定义选定对象列表并拉出特殊类对象中的数据。

1 个答案:

答案 0 :(得分:0)

是否有理由不能仅使用Entity自动生成的ObjectResult类,而不是创建自己的类?如果您正在做的事情有意义,一个选项(假设结果集不是太大)将使用Linq提供的Select方法转换存储过程的结果。它看起来像这样:

MyClass myObject = storedProcedure().Select( s => new MyClass() { 

myVariable = s.variable,
myOtherVariable = s.otherVariable,
// and so on for each property that you want to map to your class

});