C# 類型的默認值 - C# 參考 - C# | Microsoft Learn
EntityFrameworkQueryableExtensions.FirstOrDefaultAsync 方法 (Microsoft.EntityFrameworkCore) | Microsoft Learn
當使用EFCore的FirstOrDefaultAsync方法時,需清楚當查詢不到數據返回null還是什么?比如:
//引用類型的默認值是null,所以查不到數據返回null
await _repository.GetSet<TestEntity>(i => i.Id == model.Request.BusinessId.Value).Select(s => new TestEntity { Property = s.Property, CourseId = s.CourseId }).FirstOrDefaultAsync(); //同樣的匿名類,引用類型,默認值是null,查不到數據返回null
await _repository.GetSet<TestEntity>(i => i.Id == model.Request.BusinessId.Value).Select(s => new { s.Property, s.CourseId }).FirstOrDefaultAsync(); //Id是GUID類型值類型,返回GUID.Empty 既'00000000-0000-0000-0000-000000000000'
await _repository.GetSet<TestEntity>(i => i.Id == model.Request.BusinessId.Value).Select(s => s.Id).FirstOrDefaultAsync();
僅供學習參考,如有侵權聯系我刪除。