powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF и вычисляемое поле с пользовательскими данными
5 сообщений из 5, страница 1 из 1
EF и вычисляемое поле с пользовательскими данными
    #38978518
Alex_studenticu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток уважаемые форумчане. Помогите пожалуйста со след. вопросами:
Есть БД и подход построения код ферст и есть сущность, которая содержит поля координат X и Y:
Код: c#
1.
2.
public double X{get;set;}
public double Y{get;set;}



При получении данных, необходимо сделать сортировку ( на стороне БД) по расстоянию относительно координат (0,0).
насколько я понимаю данный вопрос можно решить введением вычисляемого поля:

Код: c#
1.
2.
3.
4.
5.
6.
public virtual double Distance
{
  get{
         return Math.Sqrt(Math.Pow(X, 2) + Math.Pow(Y, 2));
       }
}



и запрос соответственно будет:

Код: c#
1.
var list = dbcontext.where(условие).OrderBy(p => p.Distance).ToList();


вроде как должно работать....
Но возникает вопрос, а можно как-то сделать, чтобы пользователь сам смог задавать центр отсчета и дистанция рассчитывалась относительно него, т.е.:

public virtual double Distance
{
get{
return Math.Sqrt(Math.Pow((X - UserX), 2) + Math.Pow((Y - UserY), 2));
}
}

вопрос в том как передать в вычисление пользовательские UserX и UserY?
Поле Distance будет рассчитываться на стороне БД?
И еще в выражении где находиться list, насколько я понимаю, сортировка будет происходить на стороне БД? или уже на стороне сервера?
За ранее огромное спасибо всем:)
...
Рейтинг: 0 / 0
EF и вычисляемое поле с пользовательскими данными
    #38978530
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_studenticu,

нагуглилось...

http://stackoverflow.com/questions/9354716/linq-to-ef-unsupported-functions

если хочешь на стороне БД. если хочешь на стороне приложения, забирай всё в память, потом строй обычные LINQ запросы с любыми C# функциями. в зависимости от количества данных, что-то оптимальнее делать на стороне БД, а что-то на стороне приложения. общее правило такое, если можно сделать это на стороне приложения, делай это на стороне приложения.
...
Рейтинг: 0 / 0
EF и вычисляемое поле с пользовательскими данными
    #38979654
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt забирай всё в память,

Это может быть как минимум - дико.
...
Рейтинг: 0 / 0
EF и вычисляемое поле с пользовательскими данными
    #38980198
Alex_studenticu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо за ссылку:) очень помогло
...
Рейтинг: 0 / 0
EF и вычисляемое поле с пользовательскими данными
    #38980526
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiquehVostt забирай всё в память,

Это может быть как минимум - дико.

с чего вдруг? всё зависит от ситуации и объёма данных.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF и вычисляемое поле с пользовательскими данными
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]