我与一个WCF后端其中实体框架5用作数据访问一个ASP.NET MVC 4.5应用程序的工作方法。 PictureUse是实体,PictureUsageContract是通过WCF传输的DataContract。NotSupportedException异常发生LINQ到实体不承认ToList
的Repository.GetAll是一个标准的通用让所有得到了实体对象上下文的。
var allPictureUses = _pictureUseRepository.GetAll()
.Where(x => x.Name != null)
.Include(x => x.PictureUse1)
.Select(x => new PictureUsageContract()
{
ID = x.ID,
DefaultPrice = x.DefaultPrice,
Name = x.Name,
UseDescription = x.UseDescription,
SubItemList = x.PictureUse1.Select(c => c.UseDescription).ToList()
}).ToList();
异常而调试收到:{“LINQ实体无法识别方法‘System.Collections.Generic.List 1[System.String] ToList[String](System.Collections.Generic.IEnumerable
1 [System.String])’方法,和这种方法不能被翻译成存储表达“}
我知道它是以下行做到了:
SubItemList = x.PictureUse1.Select(c => c.UseDescription).ToList()
SubItemList是一个List PictureUse是一个实体。
我搜索了一下,并事先知道这可能是。选择不正确的LINQ支持到实体,但我还没有发现任何具体的解决这个问题。
任何帮助将受到欢迎。
感谢您的回答,但PictureUse1给人pictureUse对象的列表,而不是一个字符串的列表(说PictureUse的属性),我需要的。 –