我期待在實體使用新地理類型框架5,6爲我的下一個項目 - 我已經創建了這個教程鏈接http://msdn.microsoft.com/en-us/data/jj250903.aspx在C#中的實體使用SQL Server地理而不引用實體框架
一個MyProject.Entities包含我的實體模型的Visual Studio庫項目。我預見到的問題是,我需要在項目MyProject.Entities項目中引用Entity Framework 5+,以便在使用實體框架(或實體框架)映射此項時,使用對應於我的SQL Server數據庫中的geography
列的DbGeography
類型至少看起來是基於上述教程鏈接中的說明)。我不想直接引用我的MyProject.Entities項目中的實體框架,因爲我打算通過可能使用不同版本的實體框架的多個項目共享此庫。在風格方面,我還想保持MyProject.Entities項目儘可能簡單和乾淨 - 將實體項目耦合到實體框架看起來很醜陋。
這裏是我的模型之一的一個簡單的例子:
namespace MyProject.Entities
{
public class PointOfInterest
{
public int Id { get; set; }
public string Name { get; set; }
public DbGeography Geo { get; set; }
}
}
任何人都有這個問題?如果是這樣,你是如何解決它的?
編輯:我想到一個很好的方式來表達我的關注。新的OWIN身份模型提供了像IUser
這樣的接口,以便開發者可以在不直接引用實體框架的情況下編寫他們自己的實現,例如, https://code.msdn.microsoft.com/Simple-Aspnet-Identiy-Core-7475a961。不幸的是DbGeography
似乎沒有實現這樣一個接口http://referencesource.microsoft.com/#System.Data.Entity/System/Data/Spatial/DbGeography.cs,所以我堅持引用實體框架。
也許只是使用http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.types.sqlgeography.aspx代替 – ErikEJ 2014-12-07 14:08:05
謝謝ErikEJ,看起來很有希望。我會嘗試一下。 – 2014-12-07 20:48:25