我有一个带有一些自定义属性的元数据类,可以更轻松地访问数据。我遇到的一个问题是,当我尝试在LINQ语句中使用此属性时,我收到此错误。
The specified type member 'CrewCodesStr' is not supported in LINQ to Entities.
我知道为什么会得到它,我想知道是否有其他方法可以在LINQ语句中使用该属性。
这是属性:
public string CrewCodesStr
{
get { return string.Join(", ", CrewCodesList); }
}
以下是失败的示例查询。
query = query.Where(wo => searchCriteria.crewCode.Contains(wo.CrewCodesStr));
答案 0 :(得分:3)
之后,您可以从数据库中选择所需的信息后执行string.Join
。如果您执行ToList()
,这将枚举您需要的数据库。然后你可以做你想要的任何C#,因为它会在ToList()
var result = MyObjects.Select(x => new
{
ID = x.ID,
CrewCodes = x.CrewCodes
})
.AsEnumerable()//enumerate the queryable
.Select(x => new
{
ID = x.ID,
String = string.Join(",",x.CrewCodes)
});