问 :行price = co?.price ?? 0,
price = co?.price ?? 0,
在下面的代码给我上面的错误。 但如果我删除?
从co.?
它工作正常。 我试图按照此MSDN例如 ,他们正在使用?
在线路select new { person.FirstName, PetName = subpet?.Name ?? String.Empty };
select new { person.FirstName, PetName = subpet?.Name ?? String.Empty };
所以,看来我需要了解什么时候使用?
与??
当没有。
错误 :
表达式树lambda不能包含空传播算子
public class CustomerOrdersModelView
{
public string CustomerID { get; set; }
public int FY { get; set; }
public float? price { get; set; }
....
....
}
public async Task<IActionResult> ProductAnnualReport(string rpt)
{
var qry = from c in _context.Customers
join ord in _context.Orders
on c.CustomerID equals ord.CustomerID into co
from m in co.DefaultIfEmpty()
select new CustomerOrdersModelView
{
CustomerID = c.CustomerID,
FY = c.FY,
price = co?.price ?? 0,
....
....
};
....
....
}