sre*_*ree 3 c# entity-framework
我收到以下错误.我用Google搜索了一天多,但我找不到确切的解决方案,请帮帮我谢谢
错误:无法隐式转换
System.Collections.Generic.List<System.Collections.Generic.IEnumerable<ADCO.eJMC.EntityDataModel.ShareholderUser>>为System.Collections.Generic.List<ADCO.eJMC.EntityDataModel.ShareholderUser>
我使用了以下代码
List<ShareholderUser> list = new List<ShareholderUser>();
list = dataContext.EJMCShareholderApprovals
.Include(s => s.Shareholder.ShareholderUsers)
.Where(e => e.EJMCRequestId == requestId)
.Select(s => s.Shareholder.ShareholderUsers
.Where(x => x.AccessMode == true))
.ToList();
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 11
问题在于,目前您正在选择一系列序列 - 每个股东的一系列ShareholderUser项目.如果您只想要一个ShareholderUser项列表,则需要展平结果.这是最容易使用的SelectMany,Select在这种情况下实际上可以取代你的电话.
List<ShareholderUser> list = dataContext.EJMCShareholderApprovals
.Where(e => e.EJMCRequestId == requestId)
.SelectMany(s => s.Shareholder.ShareholderUsers)
.Where(x => x.AccessMode == true)
.ToList();
Run Code Online (Sandbox Code Playgroud)
请注意,如何在多行上打破查询使得阅读更加简单.此外,如果您立即给它一个不同的值,那么将list变量初始化为a 是没有意义的new List<ShareholderUser>.我也删除了Include调用,因为这是不必要的 - 您Shareholder.ShareholderUsers在查询中明确选择,因此您不需要包含它.
| 归档时间: |
|
| 查看次数: |
1912 次 |
| 最近记录: |