У меня возникла проблема с автоматически сгенерированным оператором удаления. На мой взгляд, удаление должно было быть
DELETE [tablename] where [PK] = @param
но вместо этого он генерирует запрос с 4 OR.
DELETE FROM Market
WHERE (@IsNull_Name = 1)
AND (Name IS NULL)
AND (@IsNull_Description = 1)
AND (Description IS NULL)
AND (MarketId = @Original_MarketId)
OR
(@IsNull_Name = 1)
AND (Name IS NULL)
AND (Description = @Original_Description)
AND (MarketId = @Original_MarketId)
OR
(Name = @Original_Name)
AND (@IsNull_Description = 1)
AND (Description IS NULL)
AND (MarketId = @Original_MarketId)
OR
(Name = @Original_Name)
AND (Description = @Original_Description)
AND (MarketId = @Original_MarketId)
Инструменты набора данных почти настаивают на наличии запросов, включающих PK / индексы, почему он генерирует такой сложный код?
Является ли этот код «наилучшей практикой», если он может привести меня к какой-то документации?
Конечно, простой случай - это требуемый код на 99%, остальные 1% должны быть временем, когда вам нужно отредактировать автоматически сгенерированный код или добавить наш собственный.