Ben feryat şemada gösterildiği gibi DDD ve Depo Desen uygulayan bir uygulama geliştiriyorum:Kalıcı Cahil Alan
Ben cahil kalıcı benim Alan Katmanı saklamak istedikleri
, bu yüzden Orada varlık çerçeve kütüphaneleri kurmak istemem. Karşılaştığım tek sorun benim uygulamamın mekansal veri kullanmasıdır, ancak EntityFramework derlemesinden System.Data.Entity.Spatial ad alanına girdiğimde, DbGeography'yi benim varlıkların Mülk Türü olarak kullanmamam gerekiyor. Böyle
Alan katmanındaki enlem, boylam ve yükseklik değerlerini tutacak bir sınıf oluşturmak için bir yol var mı
:public class Location
{
public double Latitude { get; set; }
public double Longitude { get; set; }
public double Elevation { get; set; }
}
sonra benim Depo Katmanı DbGeography için o sınıfı dönüştürmek?
public class Place : IEntityBase, ILocalizable
{
public int Id { get; set; }
public string Name { get; set; }
public Location Location { get; set; }
public User Owner { get; set; }
}
ve bunu mekansal veri devam ve sadece depo katmanında bazı hesaplamalar yapmaya DbGegraphy dönüştürmek istiyorum: Bir başka deyişle
, alan kişiler bir özelliği olarak tek Konum sınıfını olurdu. Planlarım dönüştürmek için böyle bir şey denemek oldu:public class LocationMap : ComplexTypeConfiguration<Location>
{
public LocationMap()
{
Property(l => DbGeography.FromText(string.Format("POINT({0} {1})", l.Longitude, l.Latitude))).HasColumnName("Location");
Ignore(l => l.Elevation);
Ignore(l => l.Latitude);
Ignore(l => l.Longitude);
}
}
Ama işe ve asla gelmez. Bu sorunu nasıl çözebilirim? Bu durumda en iyi uygulamalar nelerdir?
i zor bir fikrim yok, sen
Merhaba @GertArnold, lütfen bir göz atın https://msdn.microsoft.com/pt-br/library/system.data.spatial.dbgeography(v=vs.110).aspx. –
Güzel uygulama mimarisi, BTW –
'Sistem .Data.Spatial' bir .Net ad alanıdır. –