ADO.net к вопросу Lightswitch
Я развернул свою базу данных через ADO.net Entity Data Model, выполнив ее запрос вывода диаграммы для моей предварительно созданной онлайн-базы данных.
Моя база данных содержит только поддерживаемые отношения Lightswitch, One-Many, ZeroOne-Many & One-ZeroOne.
Наконец, присоединение моей базы данных к моему приложению Lightswitch в качестве внешней базы данных, и я был шокирован ее результатом.
Lightswitch преобразует ВСЕ отношения One-ZeroOne в отношения One-Many!
Я подозреваю все, попробуйте десятки раз, пытаясь выяснить эту странную проблему без хороших новостей!
Вопрос:
Почему Lightswitch преобразует ВСЕ отношения One-ZeroOne в отношения One-Many? Несогласованность!
2 ответа
Наконец, я решил это с помощью грубых испытаний:S
Решение: (Пожалуйста, не задавайте мне ПОЧЕМУ вопрос, поскольку IDK будет моим ответом)
После добавления отношения "один к нулю" у вас может быть одно или два свойства навигации, добавленные в связанные таблицы, но
Вы ДОЛЖНЫ добавить внешний ключ как скалярное свойство в таблицу ZeroOne с тем же типом &
true
Обнуляемые свойства.Вы ДОЛЖНЫ настроить Residential Constrain для ассоциации, дважды щелкнув по самой линии ассоциации и сделав
FK
в таблице ZeroOne, зависящей от таблицы OneKey
,Сгенерируйте скрипт базы данных, выполните его и не обновляйте источник данных LightSwitch,
Delete
источник данных &Attach
это снова вместо этого, поскольку это не будет обновлять отношения правильно!
Если это не ошибка, это будет зависеть от Nullablility вашего PK/FK. LightSwitch не допустит 0-1 для любого ключевого свойства, которое не имеет значения NULL.