سلام دوستان یک کویری با استفاده از Entity Framework دارم که توی اون از یک تابع Sum استفاده می کنم. موقع اجرای پروژه خطای زیر رو میده.
Nullable object must have a value
ممنون میشم راهنمایی کنم که چجوری میشه این مشکل رو حل کرد.
ضمنا کویری که نوشتم هم در کد زیر اومده :
TotalBuy = _context.UserPackage_Tbl.Where(up => up.PackageID == p.PackageID).Sum(up =>
up.PackageMainPrice);
ممنون میشم راهنمایی کنید خطای Nullable object must have a value رو چجوری باید حل کنم؟
با این تکه کد به تنهایی نمیشه گفت مشکل چیه ولی احتمال میدم متغییر شما از نوع int؟ باشه و حاصل کوئری شما Null رو بر میگردونه.
واسه همین باید شرط بزارید اگه null بود، صفر رو برگردونه
این خطا به این خاطر هست که شما دارید رکوردهایی رو از جدول با هم جمع می زنید که شامل مقدار Null هست. به همین خاطر عملیات Sum به مشکل برخورد میکنه. برای رفع این خطا میتونید از متد DefaultIfEmpty حین عملیات Sum استفاده کنید.
کاربرد متد DefaultIfEmpty
این متد باعث می شود حین عملیات ریاضی مثل Sum اگر رکوردی مقدار Null داشت با مقدار پیش فرض جایگزین شود. نحوه استفاده از این متد به صورت زیر می باشد. در مثال زیر گفته شده که اگر مقدار Null یافت شد با عدد 0 جایگزین شود.
DefaultIfEmpty(0)
شما میتونید کوئری خودتون رو به صورت زیر بنویسید :
TotalBuy = _context.UserPackage_Tbl.Where(up => up.PackageID == p.PackageID).Select(up =>
up.PackageMainPrice).DefaultIfEmpty(0).Sum();
اگر میخواید در مورد متد DefaultIfEmpty اطلاعات بیشتری رو کسب کنید این لینک رو مطالعه کنید.
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1315
- پاسخ :
0
|
تاریخ :
1403/12/01
- ساعت :
01:07:00 PM
- بازدید :
176
- پاسخ :
0
|
تاریخ :
1403/12/26
- ساعت :
03:04:00 PM
- بازدید :
70
- پاسخ :
1
|
تاریخ :
1403/12/23
- ساعت :
11:21:00 AM
- بازدید :
159
- پاسخ :
1
|
تاریخ :
1399/09/20
- ساعت :
01:21:00 PM
- بازدید :
6833
- پاسخ :
1
|
تاریخ :
1403/12/22
- ساعت :
11:05:00 AM
- بازدید :
189
- پاسخ :
1
|
تاریخ :
1399/11/25
- ساعت :
11:22:00 AM
- بازدید :
3899
- پاسخ :
2
|
تاریخ :
1403/12/19
- ساعت :
11:21:00 PM
- بازدید :
75
- پاسخ :
1
|
تاریخ :
1403/12/18
- ساعت :
07:24:00 PM
- بازدید :
107
- پاسخ :
1
|
تاریخ :
1398/09/06
- ساعت :
09:06:00 PM
- بازدید :
3429
- پاسخ :
1
|
تاریخ :
1404/01/07
- ساعت :
05:02:00 AM
- بازدید :
90
- پاسخ :
1
|
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1315
- پاسخ :
0
|
تاریخ :
1403/12/30
- ساعت :
06:43:00 PM
- بازدید :
68
- پاسخ :
1
|
تاریخ :
1398/08/23
- ساعت :
09:16:00 PM
- بازدید :
9853
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
12:18:00 PM
- بازدید :
38
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
10:39:00 AM
- بازدید :
46
- پاسخ :
1
|
تاریخ :
1404/01/02
- ساعت :
05:05:00 PM
- بازدید :
60
- پاسخ :
1
|
تاریخ :
1403/12/30
- ساعت :
06:52:00 PM
- بازدید :
50
- پاسخ :
1
|
تاریخ :
1399/06/04
- ساعت :
02:25:00 PM
- بازدید :
4421
- پاسخ :
2
|
تاریخ :
1403/11/30
- ساعت :
10:36:00 AM
- بازدید :
203
- پاسخ :
2
|