EF 6からEFコアに移行しようとしています。EFコア:マルチパート識別子 "m.Added "をバインドできませんでした
私は毎日、上の写真を返すSQLクエリにこのLINQのを持っている:
var model = db.Photos
.Where(m => m.Added <= startDate && m.Active == true)
.GroupBy(m => new { Year = m.Added.Year, Month = m.Added.Month, Day = m.Added.Day })
.Select(m => m.FirstOrDefault())
.OrderByDescending(m => m.Added)
.ThenBy(m => m.Rates.Sum(r => r.Points))
.Take(10)
.ToList();
が、EFコア上で同じコードがエラーを返します:
Core .Net SqlClient Data Provider: No column name was specified for column 1 of 'm2'. No column name was specified for column 2 of 'm2'. No column name was specified for column 3 of 'm2'. The multi-part identifier "m.Added" could not be bound. The multi-part identifier "m.Added" could not be bound. The multi-part identifier "m.Added" could not be bound.
どのように私はEFコアにこれを翻訳することができますか?
「翻訳」は必要ありません。これはうまくいくはずです - これはEFコアのバグである可能性が高くなります。クエリビルドはまだ構築中です(https://docs.efproject.net/en/latest/efcore-vs-ef6/features.html)。 –
tnx、どのようなideea私はこれを動作させることができますか?おそらく、EFチームがこれを追加するまでのいくつかの回避策ですか? – lambidu
ええ、回避策。複数の簡単なクエリでデータを取得してみてください。 –