Pada dasarnya ketika saya melakukan kueri berikut, jika tidak ada arahan yang cocok dengan kueri berikut akan melempar pengecualian. Dalam hal ini saya lebih suka memiliki jumlah menyamakan 0 daripada pengecualian yang dilemparkan. Apakah ini mungkin terjadi dalam permintaan itu sendiri - maksud saya daripada menyimpan permintaan dan memeriksa query.Any()
?
double earnings = db.Leads.Where(l => l.Date.Day == date.Day
&& l.Date.Month == date.Month
&& l.Date.Year == date.Year
&& l.Property.Type == ProtectedPropertyType.Password
&& l.Property.PropertyId == PropertyId).Sum(l => l.Amount);
SQL
dihasilkannya. Amount
sebenarnya tidak null
, itu benar-benar masalah seputar bagaimana menangani hasil nol. Lihatlah jawaban yang disediakan.
decimal
, kode Anda harus digunakan decimal
. Lupakan yang pernah Anda kenal float
dan double
dalam karier pemrograman Anda sampai suatu hari seseorang memberi tahu Anda untuk menggunakannya, untuk statistik atau pencahayaan bintang atau hasil dari proses stokastik atau muatan elektron! Sampai saat itu, Anda salah melakukannya .
Where
akan kembalinull
jika tidak menemukan catatan, itu akan mengembalikan daftar item nol. Apa pengecualiannya?