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

C# 4.0 转换实体框架数据并将其映射/添加到用户定义的类,c#-4.0,entity-framework-6,C# 4.0,Entity Framework 6,Listspl=新列表(); DBEntities实体=新的DBEntities(); 约会时间?startDate=转换为当前时间(“2017-01-01”); 约会时间?结束=转换到当前时间(“2017-04-18”); IEnumerablesplist=entity.spGetData(startDate,end,“AAA”).ToList(); 公务舱{ 公共int?没有{ 得到; 设置 } 公共字符串[]SNo{ 得到; 设置 } 公共字符串[]Div{ 得到; 设置 } 公共字符串

Listspl=新列表();
DBEntities实体=新的DBEntities();
约会时间?startDate=转换为当前时间(“2017-01-01”);
约会时间?结束=转换到当前时间(“2017-04-18”);
IEnumerablesplist=entity.spGetData(startDate,end,“AAA”).ToList();
公务舱{
公共int?没有{
得到;
设置
}
公共字符串[]SNo{
得到;
设置
}
公共字符串[]Div{
得到;
设置
}
公共字符串[]ITEMO{
得到;
设置
}
公共日期时间?滴滴涕{
得到;
设置
}

}与创建自己的类相比,有什么原因不能只使用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

});

请阅读以获得更好的帮助。这个问题与javascript或angular代码无关。请适当地标记问题。您还可以提供存储过程的代码吗?如果不知道返回的数据的结构,就无法知道您的类/对象是否会正确映射它。虽然答案可能是正确的,但OP没有在问题中提供足够的信息。。请确保检查问题编辑并反映答案。Matt,是否有人可以通过成功转换sp返回的结果集,将一组记录分配给我的用户定义类。Matt,请检查并让我知道代码。@Saleem,Matt提供的答案在您的情况下是正确的。使用
IEnumerable
代替
IEnumerable
,并在
toList()之后执行答案中提供的转换
MyClass
变成
Special
。列出myObject=gfientity.spGetProductLine(..)。选择(s=>new Special(){从存储过程结果中指定您想要在特殊对象中使用的任何变量(见上文)}.ToList();