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 ciclo di vita in .NET Aspire
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Raggruppare risorse in .NET Aspire
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Generare una User Delegation SAS in .NET per Azure Blob Storage
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Definire il metodo di rilascio in .NET Aspire
Gestione delle scrollbar dinamiche in HTML e CSS
Keynote .NET Conference Italia 2025
Centralizzare gli endpoint AI Foundry con Azure API Management
Ridurre il reflow cambiando il CSS
Creare comandi nella dashboard .NET Aspire
I più letti di oggi
- .NET Campus - Roma
- .NET Conference Italia 2022 - Track in presenza - Milano
- Release Candidate 1 di Internet Explorer 8
- Windows Azure in versione 1.0: annunciata la piattaforma Microsoft per il cloud computing
- Disponibile la June 2011 CTP di Entity Framework
- Microsoft Security Bulletin MS02-043
- .NET vs J2EE? Secondo Microsoft non ci sono paragoni


