Suite

.NET Entity Framework avec PostGIS ?

.NET Entity Framework avec PostGIS ?


Est-il possible d'utiliser le .NET Entity Framework avec PostGIS ?

J'ai passé en revue quelques options, y compris le connecter avec Npgsql en utilisant http://npgsql.com/index.php/2009/08/how-to-set-up-entity-framework-npgsql-part-1/, mais il semble que les types de données dans PostGIS ne soient pas pris en charge dans Entity Framework.

Le plus proche que je puisse trouver d'une déclaration complète de ce qui est pris en charge est le mappage de type de données Devart pour le mappage des types de données PostgreSQL EF à l'adresse http://www.devart.com/dotconnect/postgresql/docs/DataTypeMapping.html. Il semble n'exposer que les types PostgreSQL de base et ni PostGIS ni des addons vraisemblablement courants comme ltree.


Jetez un œil à PostGIS et Entity Framework. La bibliothèque principale pour connecter .NET à PostgreSQL est Npgsql, qui peut être utilisée avec (par exemple) SharpMap, NetTopologySuite, GdalOgrInCsharp, etc., selon ce que vous faites.

En ce qui concerne les types de données de géométrie, Npgsql utiliseSystem.Byte[]en C# pour représenter WKB (Well-Known Binary). Ce type de tableau d'octets peut être sélectionné à partir des fonctions SQL de PostGIS ST_AsBinary(geom) ou alors ST_AsEWKB(geom). À moins que vous ne programmiez votre propre moteur de rendu ou convertisseur de données personnalisé, vous n'aurez généralement pas besoin de comprendre WKB au niveau de l'octet. Mais WKB est utile pour transmettre des géométries à d'autres bibliothèques qui comprennent le type sans perdre la précision des coordonnées.