我一直在少數項目上使用linq2sql,但我決定是時候嘗試EF,因爲它應該是更強大和更好。有幾件事情真的很煩人。 其中之一是將結果投影到列表中,這在l2sql中效果很好,但在EF中效果不佳。entity-framework,如何投影到列表
public class bo.Transaction
{
public long Id { get; set; }
public List<bo.Line> Lines { get; set; }
}
public class bo.Line
{
public int RowNo { get; set; }
public string Descripton{ get; set; }
public double Amount{ get; set; }
}
return from t in Db.Transaction.Include("Lines")
select new bo.Transaction {
Id = t.Id,
Lines = t.Lines.OrderBy(l => l.RowNo).ToList(),
};
的ToList()調用但是失敗,與消息「System.NotSupportedException:LINQ實體無法識別方法‘列表[bo.Line] ToListLine’方法,和這種方法不能被翻譯成一家商店的表達。「」。
任何方法來解決這個問題?或者我只需要使用ienumerable而不是列表?
一般來說,只要有可能,總是比較喜歡IList <>到List <>。 – 2009-09-21 13:48:23