我有一个全新的服务器,我安装了.NET 4.5 Beta可再发行组件.尝试使用空间功能时,我收到一个NotImplemented异常.这段代码......
var x = DbGeography.PointFromText(string.Format("POINT({0} {1})", -45, 45), 4326);
Run Code Online (Sandbox Code Playgroud)
抛出这个例外......
System.NotImplementedException: The method or operation is not implemented.
at System.Data.Spatial.DefaultSpatialServices.GeographyPointFromText(String geographyText, Int32 spatialReferenceSystemId)
Run Code Online (Sandbox Code Playgroud)
如果我安装完整的VS.NET 11 Beta,那么代码工作正常.有什么想法吗?缺什么?
更新答案
感谢Pawel.您需要安装SQL CLR类型.您可以在此链接上获得2012版本:
Microsoft®SQLServer®2012的Microsoft®SystemCLR类型 http://www.microsoft.com/download/en/details.aspx?id=29065
意见
我真的不明白为什么.NET框架依赖于SQL Server.这些课程没有什么特别之处.我意识到这可能是一个历史性的事情,其中代码最初由SQL团队编写,.NET团队希望重用它.目前还不是很清楚这是基于提供商的实现.更好的异常消息可以节省一天的工作量.
我们正在使用ASP.NET MVC构建REST API.此API在原理和用法上与Factual v3 API类似.他们使用双腿Oauth 1作为他们的API.我们的设计与应用程序非常相似,主要是移动设备将在幕后使用我们的API来提供服务.应用程序的最终用户将不知道我们的API,因此将没有任何凭据.因此,通过浏览器窗口将用户重定向到身份验证表单(如facebook)没有任何意义.我的问题是......
作为参考,我们使用C#/ .NET,ASP.NET MVC 3并计划使用DotNetOpenAuth v4.
http://developer.factual.com/display/docs/Factual+Developer+APIs+Version+3