this is what i am trying so far
var tran = await (
from bankTrans in InventoryContext.BankTransaction.Where(x => x.BankId == bank.Id && x.Date <= BankTransaction.Date)
from ven in InventoryContext.Vendor.Where(x => bankTrans.ObjectId == x.Id && bankTrans.TransactionForObjectId == (int)TransactionFor.Vendor)
.DefaultIfEmpty()
from cus in InventoryContext.Customer.Where(x => bankTrans.ObjectId == x.Id && bankTrans.TransactionForObjectId == (int)TransactionFor.Customer)
.DefaultIfEmpty()
from other in InventoryContext.AccountTitle.Where(x => bankTrans.ObjectId == x.Id && bankTrans.TransactionForObjectId == (int)TransactionFor.Other)
.DefaultIfEmpty()
select new
{ bankTrans, ven, cus, other, cash }).ToListAsync();