У меня есть ASP. NET Core-сайт. Я хочу получить данные, используя запрос EF Core таким образом, чтобы он возвращал значение, даже если оно нулевое. Я хочу получить данные, включая OrderNumber
и ItemName
, событие OrderID
равно нулю. Я пробовал следующий запрос, но он показывает только 2 записи, которые имеют OrderID
.
Пожалуйста, совет:
Запрос:
var FilteredTransactionData = (from tr in _Context.Transactions
join or in _Context.Orders on tr.OrdersID equals or.OrdersID
join it in _Context.Items on tr.ItemID equals it.ItemID
select new
{
TransactionID = tr.TransactionID,
ItemName = it.ItemName,
OrderNumber = or.OrderNumber,
TransactionQuantity = tr.TransactionQuantity,
}).ToList();
Модель:
public class Transactions
{
public long TransactionID { get; set; }
public long ItemID { get; set; } //Relationship
public long? OrderID { get; set; } //Relationship
public decimal TransactionQuantity { get; set; }
}
public class Orders
{
public long OrdersID { get; set; }
public string OrderNumber { get; set; }
}
public class Items
{
public long ItemID { get; set; }
public string ItemName { get; set; }
}
Таблица транзакций
TransactionID | ItemID | OrderID | TransactionQuantity
----------------+-----------+---------------+-----------------------
1 101 Null 10
2 102 Null 12
3 103 201 20
4 101 202 20
5 102 Null 10
Требуемый вывод
TransactionID | ItemName | OrderNumber | TransactionQuantity
----------------+---------------+---------------+-----------------------
1 Item101 10
2 Item102 12
3 Item103 Order201 20
4 Item101 Order202 20
5 Item102 10