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
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Creare moduli CSS in React
Semplificare il deployment di siti statici con Azure Static Web App
Effettuare delete massive con Entity Framework Core 7
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Usare le variabili per personalizzare gli stili CSS
Miglioramenti agli screen reader e al contrasto in Angular
Definire stili a livello di libreria in Angular
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Usare il versioning con i controller di ASP.NET Core Web API
Determinare lo stato di un pod in Kubernetes