我一直在少数项目上使用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