0
我想从数据库中获得一个IEnumerable<T>
,并在'Select
'方法中使用函数返回一个string
值。但我始终找回Linq to Sql使用函数来设置一个值
“的方法不能被翻译成店式”
错误。
我已经拍了一下所有的堆栈溢出有关的错误“LINQ到实体后不识别方法....而且这种方法不能被翻译成店表达”
的唯一方式我发现来解决这个错误是应用函数的查询运行后
void Main()
{
int eventId = 17;
IEnumerable<OccurrenceDropDownList> model = Occurrences.Select (s => new OccurrenceDropDownList
{
OccurrenceId = s.OccurrenceId,
Name = s.Name
})
.AsEnumerable()
.Select(m => new OccurrenceDropDownList
{
OccurrenceId = m.OccurrenceId,
Name = m.Name,
Selected = setSelected(m.OccurrenceId, eventId)
}).AsEnumerable();
foreach(var item in model)
{
Console.WriteLine(item.Name + " - id : " + item.OccurrenceId + " " + item.Selected);
}
}
public class OccurrenceDropDownList
{
public int OccurrenceId { get; set; }
public string Name { get; set; }
public string Selected { get; set; }
}
static string setSelected(int occurrence, int selectedid){
if(occurrence == selectedid){
return "selected";
}
return "";
}
有什么办法来应用功能作为第一个查询的结果
谢谢Teo,它像一个魅力。 –