C# 添加Geography.Lat/Long以与设计器一起查看

C# 添加Geography.Lat/Long以与设计器一起查看,c#,sql,sql-server,sql-server-2012,sqlgeography,C#,Sql,Sql Server,Sql Server 2012,Sqlgeography,我目前正在处理一些GIS数据,并在MS SQL Server 2012中使用地理数据类型。在尝试使用视图设计器显示地理类型的纬度和经度时,我遇到了一些困难,特别是当我与另一个表连接时 例如,以下选项在视图设计器中可以正常工作: SELECT dbo.table1.ID, dbo.table1.LocationTypeID, dbo.table1.Location, dbo.table1.Location.Lat as LocLatitude, dbo.table1.Location.Long a

我目前正在处理一些GIS数据,并在MS SQL Server 2012中使用地理数据类型。在尝试使用视图设计器显示地理类型的纬度和经度时,我遇到了一些困难,特别是当我与另一个表连接时

例如,以下选项在视图设计器中可以正常工作:

SELECT dbo.table1.ID, dbo.table1.LocationTypeID, dbo.table1.Location, dbo.table1.Location.Lat as LocLatitude, dbo.table1.Location.Long as LocLongitude 
FROM dbo.table1
然而,这并不是:

SELECT dbo.table1.ID, dbo.table1.LocationTypeID, dbo.table2.LocationTypeName, dbo.table1.Location, dbo.table1.Location.Lat as LocLatitude, dbo.table1.Location.Long as LocLongitude
FROM dbo.table1 INNER JOIN
     dbo.table2 ON dbo.table1.LocationTypeID = dbo.table2.ID
我发现,如果我删除模式dbo并通过SQL命令手动创建视图,它将创建视图并正确运行,但是,稍后尝试通过设计器编辑它将显示错误

作为参考,设计器抛出的错误是无法绑定多部件标识符

虽然手动创建视图可以解决这个问题,但我真的很想找到一种方法来解决这个问题,因为它困扰着我,但也会给项目中的其他工作人员带来问题,他们不知道现在编辑视图的唯一方法是创建alterview SQL命令


我已经尝试过搜索这个问题的答案,但还没有找到任何答案,通常这不会是一个问题,因为我只需要从代码中获取地理类型对象并在那里显示纬度/纬度,但我需要为第三方创建导出/视图。

需要通过别名引用表,而不是直接引用。@MartinSmith提供的答案

我已编辑了您的标题。请看,如果共识是否定的,他们就不应该这样做。谢谢,也谢谢你的参考,对这一点仍然是新的:也许最简单的解决办法是给表格加上别名。e、 然后设计师将使用t1.X而不是dbo.table1.XThanks@MartinSmith来实现这一点,如此简单却花费了如此多的时间。