, как все мы знаем, структура сущности не может хранить географические данные. Итак, моя идея заключалась в том, чтобы указать долготу и широту в моей модели как десятичные. После выполнения сценария SQL для создания таблиц я бы запустил другой сценарий для добавления столбца географии. Затем я хотел бы обновлять этот столбец при каждом INSERT или UPDATE (по долготе и широте) с помощью триггера. Следующий триггер в порядке или что-то плохое? Я спрашиваю, потому что не очень хорошо знаком с триггером, но пока он работает.
CREATE TRIGGER Update_Geography
ON [People]
FOR INSERT, UPDATE
AS
BEGIN
DECLARE @longitude DECIMAL(8, 5), @latitude DECIMAL(8, 5)
SET @longitude = (SELECT ins.Location_Longitude FROM inserted ins)
SET @latitude = (SELECT ins.Location_Latitude FROM inserted ins)
IF (@longitude != 0 AND @latitude != 0)
BEGIN
UPDATE [People]
SET
Location_Geography = geography::STGeomFromText('POINT(' + CONVERT(VARCHAR(100),@longitude) + ' ' + CONVERT(VARCHAR(100),@latitude) + ')',4326)
WHERE
Id = (SELECT ins.Id FROM inserted ins)
END
END
Был бы рад, если бы кто-нибудь мог мне помочь. Thx