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 будет моим ответом)

После добавления отношения "один к нулю" у вас может быть одно или два свойства навигации, добавленные в связанные таблицы, но

  1. Вы ДОЛЖНЫ добавить внешний ключ как скалярное свойство в таблицу ZeroOne с тем же типом & true Обнуляемые свойства.

  2. Вы ДОЛЖНЫ настроить Residential Constrain для ассоциации, дважды щелкнув по самой линии ассоциации и сделав FK в таблице ZeroOne, зависящей от таблицы One Key,

  3. Сгенерируйте скрипт базы данных, выполните его и не обновляйте источник данных LightSwitch, Delete источник данных & Attach это снова вместо этого, поскольку это не будет обновлять отношения правильно!

Если это не ошибка, это будет зависеть от Nullablility вашего PK/FK. LightSwitch не допустит 0-1 для любого ключевого свойства, которое не имеет значения NULL.

Другие вопросы по тегам