c# - Linq query for left-join -
i have 3 tables:
* usersettingstype { general, userspecific) * usersettingsoption { currency:general, language:general, location:userspecific } * usersettingsvalue { currency:usd, location:us } if run sql query:
select ust.name type, uso.name option, usv.value value usersettingoption uso inner join usersettingtype ust on ust.id = uso.type_id left join usersettingvalue usv on usv.setting_type_id = uso.id output is:
type | name | value -------------------------------- general | currency | usd general | language | null userspecific | location | how can convert above in linq format?
you can following:
var result = (form uso in context.usersettingoption join ust in context.usersettingtype on uso.type_id equals ust.id join usv in context.usersettingvalue on uso.id equals usv.setting_type_id tmpusv lusv in tmpusv.defaultifempty() select new { type = ust.name, option = uso.name, value = lusv != null ? lusv.value : null }).tolist();
Comments
Post a Comment