私はlinqtosqlで左結合を行っているので、正しいテーブルフィールドを選択しているときに、結合されたオブジェクトがnullであるかどうかにかかわらず、各フィールドをチェックしています。これは正しい方法ですか?またはそれを行う他の方法はありますか?私のクエリは次のようなものです
from u in user
join x in employeee on u.id equals x.userId
into ux from ujoinx in ux.DefaultIfEmpty()
join y in department on x.id equals y.employeeId
into xy from xjoiny in xy.DefaultIfEmpty()
select new {
EmployeeSal = ujoinx!=null?ujoinx.employeeSal:0, // see checkig for null
EmployeeTax = ujoinx!=null?ujoinx.employeeTax:0, // in this 3 lines
UserName = u.username,
DeptName = xjoiny!=null?xjoiny.name:"" //is this a correct way ?
}
クエリは適切に答えを返しますが、これらのいくつかのフィールドでnullをチェックしないと、スローされますobject reference not set.....error
。DefaultIfEmpty()
ここでそれは正確には何ですか?