Trong mã, phần nhận xét là những gì tôi cần phải giải quyết ... Có cách nào để viết truy vấn như vậy trong LINQ không? Tôi cần điều này vì tôi sẽ cần phân loại dựa trên Trạng thái.LINQ - nếu điều kiện
var result = (
from contact in db.Contacts
join user in db.Users on contact.CreatedByUserID equals user.UserID
join deal in db.Deals on contact.ContactID equals deal.ContactID into deals
orderby contact.ContactID descending
select new ContactListView
{
ContactID = contact.ContactID,
FirstName = contact.FirstName,
LastName = contact.LastName,
Email = contact.Email,
Deals = deals.Count(),
EstValue = deals.Sum(e => e.EstValue),
SalesAgent = user.FirstName + " " + user.LastName,
Tasks = 7,
// This is critical part
if(Deals == 0) Status = "Prospect";
else
Status = "Client";
// End of critical part...
})
.OrderBy(filterQuery.OrderBy + " " + filterQuery.OrderType)
.Where(filterQuery.Status);
là nó, ngoại trừ nó phải được deals.Count() thay vì Deal. Nếu tôi có nhiều hơn hai trường hợp, có khả năng làm điều đó không? Cảm ơn! –
@ile - Tuyệt đối, bạn chỉ cần sử dụng một số dấu ngoặc đơn .. Trạng thái = (Deals.Count() == 0? "Không có giao dịch": (Deals.Count() == 1? "Một giao dịch": "Nhiều giao dịch ")) –
Tôi hiểu ... điều đó thực sự tuyệt vời! Cảm ơn! –