Tôi đang cố gắng một cái gì đó tương tự như sau:Entity Framework 6 Mã Đầu tiên Tuỳ chỉnh Chức năng
How to use scalar-valued function with linq to entity?
Tuy nhiên tôi không sử dụng EDMX, nhưng thay vì chỉ DbContext và mã đầu tiên.
tôi đã đi qua này:
https://codefirstfunctions.codeplex.com/
Nhưng việc sử dụng không phù hợp. Những gì tôi đang cố gắng đạt được là có thể thực hiện điều này:
var locations = context.Locations.Where(e => Functions.LatLongDistanceCalc(e.Lat, e.Long, lat, long) >= 10)
Trường hợp nó sẽ gọi hàm vô hướng (LatLongDistanceCalc) trên SQL Server.
Có cách nào để thực hiện việc này mà không cần sử dụng EDMX không? Tôi biết rằng bạn có thể xây dựng một truy vấn thủ công nhưng điều này sẽ không được ưa thích bởi vì tôi muốn mang lại các thực thể với proxy tải lười biếng, vv cũng như xây dựng một truy vấn phức tạp hơn.
Tôi không chắc chắn làm thế nào tôi đã không nhận được điều này trước đó nhưng điều này hoạt động 100%. Cảm ơn bạn! – AndrewC
Tôi muốn thêm rằng điều này hoạt động nếu bạn đang ở trong lựa chọn/ngữ cảnh. Nếu bạn ở bên ngoài - nó sẽ không hoạt động. –
Tôi đã cố gắng sử dụng nó với chức năng Max tôi đã tạo, không có tham số đầu vào và cho đến nay không thành công. Tôi luôn nhận được NotSupportedException. – yopez83