Próbuję coś podobnego do tego:Entity Framework 6 Kod Najpierw Niestandardowe funkcje
How to use scalar-valued function with linq to entity?
Jednak nie używam EDMX, ale zamiast po prostu DbContext i kod pierwszy.
natknąłem to:
https://codefirstfunctions.codeplex.com/
Ale użycie nie jest odpowiedni. Co staram się osiągnąć to, aby móc to zrobić:
var locations = context.Locations.Where(e => Functions.LatLongDistanceCalc(e.Lat, e.Long, lat, long) >= 10)
Gdzie będzie wywołać funkcję skalarną (LatLongDistanceCalc) na SQL Server.
Czy można to zrobić bez korzystania z EDMX? Wiem, że można skonstruować zapytanie ręczne, ale nie byłoby to zalecane, ponieważ chcę przywrócić elementy z leniwymi serwerami ładującymi itp., Jak również budowanie bardziej złożonego zapytania.
Nie jestem pewien, jak nie dostałem tego wcześniej, ale działa to w 100%. Dzięki Ci! – AndrewC
Chciałbym dodać, że działa to, jeśli jesteś w selekcji/kontekście. Jeśli jesteś poza nim - to nie zadziała. –
Próbowałem go użyć z funkcją Max, którą utworzyłem, brak parametrów wejściowych i jak dotąd brak sukcesu. Zawsze otrzymuję wyjątek NotSupportedException. – yopez83