La versione 2.2 di Entity Framework Core introduce il supporto nativo ai tipi spatial. Questo supporto è offerto utilizzando i tipi della libreria NetTopologySuite e dei provider di Entity Framework che mappano i tipi verso i diversi tipi esposti dai database. Su NuGet sono già presenti provider Sql Server, SQLite e PostgreSql, ma ne arriveranno anche per altri database.
Il primo passo per utilizzare i tipi spatial è creare una entity che contiene una proprietà il cui tipo è un tipo spatial così come nel prossimo esempio.
using NetTopologySuite.Geometries;
namespace Application1
{
public class Person
{
public string Id { get; set; }
public Point Location { get; set; }
}
}Il tipo Point non è del .NET Framework ma di NetTopologySuite. Una volta creata l'entity possiamo inserire oggetti nel database come facciamo per qualunque altro oggetto.
using (var context = new MyDbContext())
{
var p = new Person { Location = new Point(-113.32456, 50.13234) { SRID = 4326 } }
context.Add(p);
context.SaveChanges();
}Possiamo poi utilizzare LINQ per eseguire query.
var people = context.People.OrderByDescending(p => p.Location.Distance(someLocation)).ToList();
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione dei codeowners in GitHub
Usare la parola chiave field per semplificare la scrittura di proprietà in C#
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Raggruppare risorse in .NET Aspire
Utilizzare Intersect e Except per filtrare set di dati in TSql
Interagire con Azure DevOps tramite MCP Server
Mappare una complex property di una entity su un campo JSON
Ottimizzare gli indici con Automatic Index Compaction in Azure SQL Database
Ridurre il reflow cambiando il CSS
Le cron expression di un workflow di GitHub
Implementare il throttle in JavaScript
Escludere alcuni file da GitHub Copilot




