В настоящее время я работаю с некоторыми данными ГИС и использую тип данных географии в MS SQL Server 2012. У меня возникают трудности при попытке отобразить широту и долготу географии типа с помощью конструктора View, особенно если у меня есть соединение с другой таблицей.Добавить Geography.Lat/Long to View с дизайнером
Например, ниже отлично работает в конструкторе вид:
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
Я обнаружил, что если я удалю схемы (ДБО) и вручную создать просмотр через SQL-команду он создаст представление и будет работать правильно, однако попытка его редактирования позже через конструктор отобразит ошибки.
Для справки об ошибке, которую выбрал дизайнер, заключается в том, что «идентификатор нескольких частей не может быть связан».
Хотя ручное создание View может решить проблему, мне бы очень хотелось найти способ решить эту проблему, поскольку она прослушивает меня, но также вызывает проблемы для других людей, работающих над проектом, не зная, что теперь единственный способ редактировать В будущем представление должно создать команду SQL Alter View.
Я попытался найти ответ на этот вопрос, но еще ничего не нашел, как правило, это не было проблемой, поскольку я просто хотел бы захватить объект типа географии из кода и получить отображение Lat/Lon там Мне нужно создать экспорт/просмотр для стороннего участника.
Я отредактировал ваше название. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –
Спасибо, спасибо за ссылку, новичок в этом :) – Nathan
Наверное, самым простым решением будет предоставление псевдонимов таблиц. например 't1',' t2' и т. д. тогда дизайнер будет использовать 't1.X' вместо' dbo.table1.X' –