です:私は好奇心が強いEntity Frameworkの+のSQLQuery <T> - 私はCodePlexの上NerdDinnerコードを見て、次のように注目された。このコードの目的(NerdDinner)
public IQueryable<Dinner> FindByLocation(float latitude, float longitude)
{
List<Dinner> resultList = new List<Dinner>();
var results = db.Database.SqlQuery<Dinner>("SELECT * FROM Dinners WHERE EventDate >= {0} AND dbo.DistanceBetween({1}, {2}, Latitude, Longitude) < 1000", DateTime.Now, latitude, longitude);
foreach (Dinner result in results)
{
resultList.Add(db.Dinners.Where(d => d.DinnerID == result.DinnerID).FirstOrDefault());
}
return resultList.AsQueryable<Dinner>();
}
何このラインのポイント次のとおりです。
resultList.Add(db.Dinners.Where(d => d.DinnerID == result.DinnerID).FirstOrDefault();
コードでは、ディナーを取得するためにExecuteQueryを呼び出しています。リストに追加するFirstOrDefault()を再度呼び出す必要があるのはなぜですか? SqlQuery
のドキュメントから
「結果」の種類は何ですか? – Dave