/ Published in: C#
URL: http://amirrajan.net/blog/left-join-on-multiple-tables-in-linq-to-sql/
Expand |
Embed | Plain Text
from expense in expenseDataContext.ExpenseDtos where expense.Id == expenseId //some expense id that was passed in from category // left join on categories table if exists in expenseDataContext.CategoryDtos .Where(c => c.Id == expense.CategoryId) .DefaultIfEmpty() // left join on expense type table if exists from expenseType in expenseDataContext.ExpenseTypeDtos .Where(e => e.Id == expense.ExpenseTypeId) .DefaultIfEmpty() // left join on currency table if exists from currency in expenseDataContext.CurrencyDtos .Where(c => c.CurrencyID == expense.FKCurrencyID) .DefaultIfEmpty() select new { Expense = expense, // category will be null if join doesn't exist Category = category, // expensetype will be null if join doesn't exist ExpenseType = expenseType, // currency will be null if join doesn't exist Currency = currency }
You need to login to post a comment.
