【发布时间】:2018-07-07 20:38:47
【问题描述】:
我正在做一个 ASP.Net 核心项目,我有一个模型如下:
Class abcde
{
int a {get;set;}
int b {get;set;}
int c {get;set;}
int d {get;set;}
int d {get;set;}
}
在特定视图中,我只需要上述定义模型的属性 a 和 b。所以,我只是定义了一个 ViewModel 类(到不同的命名空间),如下所示:
Class ab
{
int a {get;set;}
int b {get;set;}
}
现在我在控制器中进行选择查询,我打算只选择 a 和 b 属性。因为这些是我想在视图中显示的唯一属性。所以,基本上我的查询必须是:
var objects = _context.abcde.Select( x=> new {x.a, x.b}).ToArray()
这里的问题是我得到了一个匿名类型的数组,我需要手动映射到我的视图模型类 ab。在这种情况下,我必须有一个循环来手动将每个结果集转换为 ViewModel。
看Select函数的签名
Enumerable.Select TSource, TResult
看来,函数本身可以进行转换,但我找不到任何示例。我可能在这里有一个错误的想法。您能否建议处理这种情况的方法。我相信这将是非常普遍的情况。提前致谢。
【问题讨论】:
标签: c# entity-framework linq asp.net-core entity-framework-core