2015-10-21 15 views
5

Tôi đã sau mã chạy trên EF7 Beta 8:EF7 và groupby() không thể được dịch

var locationGrops = from l in db.Locations 
        group l by l.ServiceType into g 
        select g; 

var list = locationGrops.ToList(); 

Khi tôi thực thi mã này, EF sẽ hiển thị một cảnh báo.

Truy vấn có vẻ khá cơ bản đối với tôi và có GROUP BY trong SQL. Có cách nào để làm cho nó chạy trên một máy chủ?

Trả lời

4

Tại nhóm thời gian này bởi và và hầu hết các truy vấn phụ không được EF7 hỗ trợ.

+0

tương tự trong phiên bản 7.0.0-rc1; / –

1

Bạn có thể sử dụng context.Locations.FromSql(sql).ToList() để đảm bảo truy vấn của bạn được chạy như bạn mong muốn trên máy chủ.

0

Một cách tiếp cận là tạo cơ sở dữ liệu Xem với logic (cho các nhóm phức tạp có lẽ tốt hơn).

Ngay bây giờ đó là một chút của một hack để sử dụng xem, nhưng đây là những gì tôi đã đưa ra nếu bạn đang sử dụng giàn giáo:

How can I create database Views in a scaffolded DbContext in EF7/Entity Framework Core 1.0

Nói tóm lại tôi kế thừa từ DbContext, và bằng tay tạo lớp thực thể cho khung nhìn.

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