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,它像一個魅力。 –