Использование функции SQL в Entity Framework Select - PullRequest
2 голосов
/ 06 января 2011

Я использую провайдера Devart EF-4 для PostgreSQL.

В одной из моих таблиц БД есть столбец с именем the_geom, который является столбцом типа PostGis Geometry, содержащим многоугольник.Короче говоря, PostGis использует свой собственный двоичный формат для хранения значений геометрии, поэтому для его использования в моем приложении мне необходимо преобразовать его в хорошо известный двоичный код (WKB), который является стандартизированным двоичным представлением геометрии.Это может быть достигнуто довольно просто в стандартном SQL, выбрав с помощью

select asbinary(the_geom) from mytable

Последний вопрос: как мне в Entity Framework указать использование функции asbinary () для выбора столбца the_geom?

1 Ответ

5 голосов
/ 06 января 2011

Существует множество функций Sql Server, которые можно использовать в запросах Linq в SqlFunctions классе в System.Data.Objects.SqlClient пространстве имен.

Поищите что-то подобное в вашей библиотеке Linq Provider для Postgre, и, если вы не можете найти, добавьте вычисляемый столбец со значением asbinary(the_geom) и отобразите этот столбец в EF.

Вы можете даже написать что-то подобное, если посмотрите на декомпилированный код,

public static class SqlFunctions
{
    // Methods
    [EdmFunction("SqlServer", "STR")]
    public static string StringConvert(double? number)
    {
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...