gpt4 book ai didi

metadata - 如何将 EFv5 的 dbGeography 空间数据类型与 WCF RIA 域服务类一起使用

转载 作者:行者123 更新时间:2023-12-02 00:18:36 26 4
gpt4 key购买 nike

我正在使用现在具有地理数据类型的 EFv5。所以我有一个名为 Place 的实体,它有一个名为 geoLocation 的属性,属于地理类型。 VS 2012 已自动为此实体创建代码,并且已将此地理类型的属性类型声明为 System.Data.Spatial.DbGeography。所以一切正常。

但是当我添加域服务类并勾选以包含我的位置实体时,解决方案停止编译,因为 domainservice.metaData.cs 文件似乎无法为地理类型创建属性。我收到“实体‘SilverlightApplication1.Web.Place’的属性‘GeoLocation’具有不受支持的类型”错误消息。

那么我如何将这种地理数据类型包含在我的域服务类中呢?

我已尝试手动将属性添加到创建的元数据文件中,但我仍然收到相同的错误消息。

最佳答案

我在 MVC 项目的域类中成功使用了 DbGeography 类型。

我定义我的域类如下。

using System.Data.Spatial;

namespace MyApp.DomainClasses
{
public class Address
{
public int Id { get; set; }
public string StreetAddress { get; set; }
public string InternalMailCode { get; set; }
public string City { get; set; }
public string Country { get; set; }
public string PostalCode { get; set; }
public string StateProvince { get; set; }
public DbGeography Location { get; set; }

}
}

然后我可以用这样的东西查询。

var myLocation = DbGeography.FromText(gpsLocation);

var addresses= (from a in context.Addresses
orderby a.Location.Distance(myLocation)
select a).Take(10);

关于metadata - 如何将 EFv5 的 dbGeography 空间数据类型与 WCF RIA 域服务类一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11895283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com