LINQ の .include に頭を悩ませる問題がいくつかあります。誰かがこれを達成するためのクエリを私に見せてくれれば、とても感謝しています:
User と Validation (一連の検証コード) という 2 つのエンティティがあります。これらは EF5 では 1:* として関連付けられています。User オブジェクトを取得して Validations コレクションを熱心に読み込もうとしています。
現時点では、これを行っています (cx は using ブロック内のコンテキストです):
var user = cx.Users
.Where(u => u.UserGuid.Equals(UserGuid))
.FirstOrDefault();
if (user == null)
{
return 0;
}
var validation = cx.Validations
.Where(v => v.Code.Equals(Code))
.Where(v => v.UserId.Equals(user.UserId))
.FirstOrDefault();
しかし、これを 1 つのクエリだけで実現するにはどうすればよいのでしょうか。
user.Validations.FirstOrDefault();
エラーを取得せずに、Validation.Code == Code テストを満たす Validations のみを取得しますか?
助けてくれてありがとう(混乱しているように聞こえるかもしれませんが、それは私が混乱しているからです)。