Я не знаю много о Entity FrameWork, но похоже, что basi c linq может сделать
var data =
dbContext.FuelExpense.Where(x => x.Bill.BillStatus == 'Pending')
.Select(x => new Data(x.BillId, x.Bill.BillNumber, x.Bill.BillStatus, x.Bill.Amount, x.FuelExpenseId))
.Concat(
dbContext.BooksAndNotesExpense.Where(x => x.Bill.BillStatus == 'Pending')
.Select(x => new Data(x.BillId, x.Bill.BillNumber, x.Bill.BillStatus, x.Bill.Amount, x.BooksAndNotesExpenseId))
)
.ToList()
ИЛИ
var data =
dbContext.BooksAndNotesExpense
.Join(
dbContext.Bill,
booksExpense => booksExpense.BillId,
bill => bill.BillId,
(booksExpense , bill) => new Data(bill.BillId, bill.BillNumber, bill.BillStatus, bill.Amount, booksExpense.FuelExpenseId)
)
.Where(x => BillStatus == 'Pending')
.Concat(
dbContext.FuelExpense
.Join(
dbContext.Bill,
fuelExpense => fuelExpense.BillId,
bill => bill.BillId,
(fuelExpense, bill) => new Data(bill.BillId, bill.BillNumber, bill.BillStatus, bill.Amount, fuelExpense.BooksAndNotesExpenseId)
)
.Where(x => BillStatus == 'Pending')
)
.ToList()
public class Data {
public Data(int billId, string billNumber, string billStatus, int amount, int expenseId) {
BillId = billId;
BillNumber = billNumber;
BillStatus = billStatus;
Amount = amount;
ExpenseId = expenseId;
}
public int BillId { get ; set; }
public string BillNumber { get ; set; }
public string BillStatus { get ; set; }
public int Amount { get ; set; }
public int ExpenseId { get ; set; }
}