Về cơ bản khi tôi thực hiện truy vấn sau, nếu không có khách hàng tiềm năng nào phù hợp thì truy vấn sau sẽ ném ngoại lệ. Trong trường hợp đó, tôi muốn có tổng bằng 0 hơn là ngoại lệ được ném. Điều này có thể thực hiện được trong chính truy vấn không - ý tôi là thay vì lưu trữ truy vấn và kiểm tra 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
tạo ra. Amount
thực ra không phải vậy null
, nó thực sự là một vấn đề xoay quanh việc nó xử lý kết quả bằng không. Có một cái nhìn vào câu trả lời đã được cung cấp.
decimal
, mã của bạn nên sử dụng decimal
. Quên bạn đã từng biết float
và double
trong sự nghiệp lập trình của bạn cho đến ngày ai đó bảo bạn sử dụng chúng, để thống kê hoặc độ chói sao hoặc kết quả của một quá trình ngẫu nhiên hoặc điện tích của một điện tử! Cho đến lúc đó, bạn đang làm sai .
Where
sẽ không được trở vềnull
nếu nó không tìm thấy bất kỳ hồ sơ, nó sẽ trả về một danh sách các mục zero. Ngoại lệ là gì?