3 回答
TA貢獻1772條經驗 獲得超8個贊
我似乎無法說出我在評論中的意思。幾乎可以肯定,該屬性StartDate已按要求映射。這可以通過數據注釋來完成......
[Required]
public DateTime? StartDate { get; set; }
...或通過流暢的映射,例如在OnModelCreating...
modelBuilder.Entity<Employee>()
.Property(e => e.StartDate).IsRequired();
只有在這些情況下,EF 才會忽略 LINQ 表達式中的(非)空檢查,因為它知道屬性不能為空。
當然,根據需要標記可為空的屬性沒有多大意義,因此您應該使其不可空或不需要。
TA貢獻1818條經驗 獲得超3個贊
var thresholdDate = GetDate(); var employeesWithNewOrNoStartDate = dbContext.Employees .Where(employee => employee.StartDate == null || employee.StartDate > thresholdDate);
用一句話來說:
從 all 的序列中Employees,只取那些Employees根本沒有StartDate的,或者有一個相當新的StartDate
TA貢獻1829條經驗 獲得超6個贊
var NewGroupEmployees = dbContext.Employees
.Where(employee => employee.StartDate == null
|| employee.StartDate > DateTime.Today).ToList();
這應該返回一個具有所需結果的列表。
您可以嘗試的另一個選項是在 SQL 中創建一個存儲過程并從您的應用程序中調用它。
- 3 回答
- 0 關注
- 227 瀏覽
添加回答
舉報
