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
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Utilizzare una qualunque lista per i parametri di tipo params in C#
Aggiornare a .NET 9 su Azure App Service
Le cron expression di un workflow di GitHub
Abilitare automaticamente il force push di un gruppo su Azure DevOps
La gestione della riconnessione al server di Blazor in .NET 9
Testare il failover sulle region in Azure Storage
Gestire progetti .NET + React in .NET Aspire
Creare una libreria CSS universale: Cards
Utilizzare Hybrid Cache in .NET 9
Rendere i propri workflow e le GitHub Action utilizzate più sicure


