public class Car
{
public int Id {get; set;}
public Guid? OwnersId { get; set; }
...
}
我正在嘗試根據標準獲取所有汽車資料
List<Car> cars = await carsContext.Query(x=>x.Id== model.CarId && x.OwnersId.Value == null);
運算式的結果始終為假,因為 Guid 型別的值永遠不等于“Guid?”型別的“null”。
uj5u.com熱心網友回復:
ValueNullable<T>struct 的屬性回傳基礎型別的值(Guid在您的情況下),它不能是null. 將OwnersId自身與 null進行比較:
List<Car> cars = await carsContext
.Query(x => x.Id == model.CarId && x.OwnersId == null);
另一種選擇是檢查HasValue屬性:
List<Car> cars = await carsContext
.Query(x => x.Id == model.CarId && !x.OwnersId.HasValue);
盡管這是否會轉換為有效的 SQL 取決于您使用的 ORM。
uj5u.com熱心網友回復:
'Value' 屬性永遠不會為空。如果 OwnersId 為 null,則呼叫 .Value 將引發例外。您應該檢查 HasValue。所以你可以這樣做:
List<Car> cars = await carsContext.Query(x=>x.Id== model.CarId && !x.OwnersId.HasValue);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/363369.html
上一篇:Linq查詢選擇新的串列
