私にはわからない単純なLINQ問題があります。 私はテーブルUsers
とテーブルEmployees
を持っています。 1人のユーザーが0人〜n人の従業員を持つことができます。EF 4.3のLINQクエリで "let"キーワードを使用する
私はこのような何かをしたいと思います:First()
コールbecasueもちろん動作しません
var result = from u in context.users
where u.UsrId = 2
let e = u.Employees.First()
select new
{
UserId = u.UsrId,
FirstName = e.FirstName
};
は違法です。 First()はselect
の末尾に来るだけです。私はの使用が正しい許可すればわからない
var employee = from e. in context.Employees.....
...そしてlet e = employee
代わりにlet e = u.Employees().First()
を言う:もうまくいきませんでした何 はそうのような以前のクエリで従業員を選択することです。私はサブクエリのためだと思った。
コールの理由は、Employeesテーブルが各ユーザーに対して複数のエントリを持つべきではないということです。それはデザインのミスで、私は今それに対処しなければなりません。だから私は最初のものがほしい。
こんにちは。問題の上位LINQクエリで何が間違っているのかを理解する手助けをしてください。あなたの質問とそれは私と同じように見えました。 – UfukSURMEN