Error 6017: The NavigationProperty '(propertyname)' on the type '(typename)' is the source of a generated property '(otherpropertyname)' which conflicts with a member of the same name.
ОК, я вполне уверен, что понимаю, почему я получаю это сообщение об ошибке, но мне не очевидно, как его обойти.
Iиметь таблицу salesreps
, которая ссылается на таблицу territories
с простым отношением внешнего ключа.Таблица territories
обновляется с помощью автоматического канала, а таблица salesreps поддерживается вручную через веб-интерфейс, который я разрабатываю.
Я не хочу, чтобы повторы были удалены, если территория исчезнет;Я намереваюсь выделить их для ручных корректирующих действий в пользовательском интерфейсе, который я создаю, поскольку осиротевшие представители нуждаются в присвоении территории.
Торговые представители определяются идентификатором, который уникален только для данной территории (я ничего не могу сделатьоб этом, вне моего контроля), если территория удалена, я сделал поведение внешнего ключа ON DELETE
, установив значение territoryID
в ноль, и сделал столбец обнуляемым.Затем я создал вычисляемый столбец с именем territoryReferenceID
в таблице salesreps
, установленной на isnull(territoryID, 0)
, сделал его постоянным и создал первичный ключ на основе столбцов repID
и territoryReferenceID
, поскольку я не могу сделать обнуляемымКолонка ПК (которую я до сих пор считаю хромой, даже если я понимаю, почему это так).В базе данных это работает нормально, и если каким-то образом две территории удаляются с одинаковым repID одновременно (крайне маловероятно), я в порядке с ошибкой нарушения первичного ключа, которую я могу перехватить.
Отображение этогоEF дает мне вышеупомянутую ошибку.Я не знаю, почему у EF есть проблема с этим, и я не знаю, как решить эту проблему.Я хочу сохранить поведение в соответствии со схемой базы данных.
Как я могу исправить эту проблему?