Если вы смоделируете данные SQL таким образом, LightSwitch распознает отношение от 1 до 0..1:
CREATE TABLE [Messages]
(
PK int IDENTITY(1,1) not null,
MessageHeader varchar (50) not null,
PRIMARY KEY (PK)
)
GO
CREATE TABLE [MessageBodiesWithPK]
(
PK int not null,
MessageBody varchar(50) null,
PRIMARY KEY (PK),
FOREIGN KEY (PK) REFERENCES [Messages] (PK)
)
GO
Если вы не можете изменить свою схему, вам придется вручную отредактировать файл LSML. Это не поддерживается, но в прошлом я использовал это исправление для исправления областей, в которых разработчик данных неправильно угадывает мои намерения, в частности для исправления подразумеваемого ключа в представлениях SQL. Вы должны искать атрибут Multiplicity для элемента AssociationEnd - установите его с «Many» на «One».
Чтобы быть ясным: я бы рассмотрел ручное редактирование LSML в крайнем случае. Обязательно проверьте свою работу, прежде чем сделать это, потому что все приложение может быть повреждено, если вы допустите ошибку (я упоминал, что LSML недокументирован?). В любом случае, если вы хотите попробовать, загляните в каталог данных вашего проекта.