ASP.NET MVC Hosting Indonesia – JaringanHosting.com :: Menggunakan Spatial Data dengan SQL Server 2012, Entity Framework 5 dan ASP.NET MVC

Banyak developer sejak rilis SQL 2008, meminta agar tipe Spatial Data support untuk Entity Framework. Itu adalah mimpi bagi pengguna Microsoft ORM untuk membuat aplikasi bisnis NET cepat dengan menggunakan Spatial Data. Pada bulan Mei 2012 rilis Entity Framework 5 (EF5)Telah berhasil meningkatkan kinerja jika dibandingkan dengan versi Entity Framework sebelumnya dan juga memiliki dukungan untuk jenis spasial. Fungsi spasial dalam EF5 membutuhkan NET 4.5.

ASP.NET MVC Hosting Indonesia – JaringanHosting.com

Fungsi spasial dalam EF5 membutuhkan NET 4.5. Ini berarti kita perlu menginstall Visual Studios 2012. Anda dapat men-download VS 2012 di sini: http://www.microsoft.com/visualstudio/en-us

Data Spasial di Entity Framework 

Dalam Entity Framework 5, Microsoft memperkenalkan DbGeometry dan DbGeography jenis baru. Jenis ini menyediakan perubahan lokasi dan banyak fungsi untuk memanipulasi poin spasial menggunakan fungsi geometri yang pada gilirannya dapat digunakan untuk melakukan query spasial umum.

Jenis DbGeography / DbGeometry yang berubah, yang berarti bahwa kita tidak dapat merubah setelah jenis tersebut dibuat. Kita perlu menggunakan metode khusus untuk meng-instantiate jenis ini. Jenis ini tidak memiliki constructor () dan kita tidak dapat menetapkan sifat seperti Latitude dan Longitude.

Hal ini penting untuk disampaikan bahwa jenis ini didefinisikan ke dalam System.Data.Entity yang dibuat di System.Data.Spatial namespace. Sekarang kita mungkin menggunakan SqlGeometry  dan jenis SqlGeography, didefinisikan dalam Microsoft.SqlServer.Types namespace.

Misalnya Entity dengan nama “world” berisi properti geom jenis DbGeometry.

 ASP.NET MVC 4 Application dengan Entity Framework 5 RC dan Spatial data. Kontroler Kontroler mengembalikan tampilan yang berisi kontrol UI, yang menunjukkan unsur-unsur spasial. Pemeliharaan data diimplementasikan kedalam controller. Artikel ini juga difokuskan pada bagian MVC.
Spatial Data Maintenance

Bila kita memiliki data dari jenis DbGeometry  / DbGeography. Ada dua pilihan:

Untuk mengkonversi tipe Spatial Data untuk WKT (Well Known Text) dan mengirimkannya ke klien  sebagai bagian dari JSON atau XML

Kita harus memiliki metode hasil yang berlanjut untuk JSON

Kita harus menggunakan juga beberapa metode pembantu untuk mendapatkan daftar poin, yang mewakili sebuah data dari contoh DbGeometry. Jangan lupa bahwa titik indeks DbGeometry / DbGeography mulai dari 1!.

Sebuah class  yang digunakan untuk penyambungan Data:
Sebuah class yang digunakan untuk menjaga point data
Sebuah class untuk membantu menjaga perpanjangan objek geometri (dalam kasus ini negara)
Metode ekstensi yang digunakan untuk mendapatkan batas dari daftar poin
Bagian yang paling penting dalam sampel adalah bagaimana metode query controller yang mengembalikan Spatial Data (dalam kasus ini negara). Semoga bermanfaat