理解できない単純なLINQの問題があります。私はテーブルUsers
とテーブルを持っていますEmployees
。1 人のユーザーは 0...n 人の従業員を持つことができます。
私はこのようなことをしたいと思います:
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()
呼び出しが違法であるため、もちろん機能しません。First() は a の最後にのみ来ることができselect
ます。また、次のように前のクエリで従業員を選択してもうまくいきませんでした。
var employee = from e. in context.Employees.....
...そしてlet e = employee
代わりに言うlet e = u.Employees().First()
let の使用が正しいかどうかはわかりません。サブクエリ用だと思いました。
この呼び出しの理由はFirst()
、Employees テーブルに各ユーザーに対して複数のエントリが含まれないようにするためです。それは設計上のミスであり、今対処しなければなりません。だから私は最初のものだけが欲しい。