是否可以使用F#中的类型提供程序访问具有类型为Geography的列的SQL Server 2008表?在F#中,如何使用Type Provider访问Sql Server Geography数据类型?
这是我的联系:
type dbSchemaAnalyticsWeb = SqlDataConnection<"Data Source=sql2008;Initial Catalog=Analytics;User ID=USER;Password=PASSWORD;">
然后将代码插入数据:
let dbAnalyticsSQL = dbSchemaAnalyticsWeb.GetDataContext()
let sqlGeogBuild = new SqlGeographyBuilder()
sqlGeogBuild.BeginGeography(OpenGisGeographyType.Point);
sqlGeogBuild.BeginFigure(lat, long)
sqlGeogBuild.EndFigure()
sqlGeogBuild.EndGeography()
let LData = new dbSchemaAnalyticsWeb.ServiceTypes.LocationsData(
Address = address,
ZipCode = zipCode,
Longitude = long,
Latitude = lat,
GeoLocation = sqlGeogBuild.ConstructedGeography)
在上面的代码中,场GeoLocation中引用从SQL Server的地理数据类型。然而,我得到一个错误“成员或对象构造函数'LocationData'没有参数或可设置的返回属性'GeoLocation'。是否有另一种方法来引用这个字段,或其他一些接口,或者是这种数据类型根本不可访问?
注意,我使用的Visual Studio 2012和.NET 4.5。
谢谢。我通过添加插入/更新触发器找到了另一个解决方法。请参阅rheitzman的答案,[链接](http://stackoverflow.com/questions/17684002/simple-update-trigger-simple-row-insert) – MichaelB