是否可以使用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