2012-01-01 25 views
5

Tôi đang cố gắng đoạn mã sau ..WCF RIA - Query hành 'Đếm' không được hỗ trợ

LoadOperation<Tasks> PhasesLP = context. 
    Load(context.GetTasksQuery(). 
    Where(o=> ProjectList.Where(p=> p.ProjectID == o.ProjectID).Count() == 1) 

tôi nhận được lỗi sau:

Query operator 'Count' is not supported.

Tôi muốn về cơ bản có thể chỉ định mệnh đề Where In thay vì Where =.

Bất kỳ ai cũng có ý tưởng về cách tôi có thể đạt được điều này?

Trả lời

2

Các bạn đã thử:

.SingleOrDefault() != null 

Tôi không quen thuộc với RIA, nhưng đôi khi các loại biểu thức tương đương thay thế làm việc với EF.

Ngoài ra, với EF, có thể thực hiện theo kiểu SQL WHERE IN (...) sử dụng .Any(...).

Off đỉnh đầu của tôi, loại điều hoạt động:

entities.Where(e => ids.Any(i => e.Id == i)) 

ids có thể là một danh sách các ID, một danh sách các thực thể hoặc một subquery, IIRC.

+0

Cảm ơn, giải pháp thứ hai đã hoạt động. – user1106741

+0

Tuyệt vời, rất vui khi được nghe. –

Các vấn đề liên quan