Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq到实体:将结果强制转换为多个列出的复杂类型_Linq_Linq To Entities - Fatal编程技术网

Linq到实体:将结果强制转换为多个列出的复杂类型

Linq到实体:将结果强制转换为多个列出的复杂类型,linq,linq-to-entities,Linq,Linq To Entities,我正在尝试创建一个linq查询,它填充CompanyViewModel构造函数中的以下模型: public class CompanyViewModel { public IList<CompanyUserViewModel> CompanyUsers { get; set; } ... } public class CompanyUserViewModel { public User User { get; set; } public IList&

我正在尝试创建一个linq查询,它填充
CompanyViewModel
构造函数中的以下模型:

public class CompanyViewModel
{
    public IList<CompanyUserViewModel> CompanyUsers { get; set; }
    ...
}

public class CompanyUserViewModel
{
    public User User { get; set; }
    public IList<UserOperationViewModel> UsersOperations { get; set; }
}

public class UserOperationViewModel
{
    public Operation Operation { get; set; }
    public int Permission { get; set; }
}
这会生成,但当页面运行时,我会

LINQ to Entities does not recognize the method 'System.Collections.Generic.List`1[WoodCo.Models.BusinessObject.UserOperationViewModel] ToList[UserOperationViewModel](System.Collections.Generic.IEnumerable`1[WoodCo.Models.BusinessObject.UserOperationViewModel])' method, and this method cannot be translated into a store expression.

做什么?

将视图模型属性更改为使用
IEnumerable
而不是
ILIS我已经考虑过这种可能性,它只是在我的视图上(我使用的是ASP.NET MVC 2),我通过索引访问该项,即.model.CompanyUsers[x].UsersOperations[y].Permission,以使默认模型绑定工作。您可以将查询一分为二,然后。首先投影到匿名类型上,然后是
.AsEnumerable()
,然后是列表。
LINQ to Entities does not recognize the method 'System.Collections.Generic.List`1[WoodCo.Models.BusinessObject.UserOperationViewModel] ToList[UserOperationViewModel](System.Collections.Generic.IEnumerable`1[WoodCo.Models.BusinessObject.UserOperationViewModel])' method, and this method cannot be translated into a store expression.