LINQ to SQL - проблема со связью 1-к-1 - PullRequest
3 голосов
/ 13 марта 2009

В конструкторе L2S я опустил таблицу и представление. Я попытался добавить связь между двумя на их первичных ключах. Это должно быть отношение один-к-одному, поэтому я устанавливаю свойство мощности ассоциации как таковое.

Но при кодировании я не могу получить доступ к дочернему свойству.

Есть предложения?

Редактировать

Я только что создал представление на сервере sql, в котором есть нужные поля, и поместил его в L2S. Гораздо проще.

Ответы [ 3 ]

5 голосов
/ 13 марта 2009

По моему опыту, для Linq To SQL требуются отношения Первичный / Внешний ключ, установленные в БД. В противном случае вам нужно будет объединиться.

Не уверен, относится ли это к вашей ситуации, но может ...

Linq To SQL без явных отношений с внешним ключом

ОБНОВЛЕНИЕ:

Похоже, что вы можете получить то, что ищете, не устанавливая отношения первичного / внешнего ключа в базе данных. В конструкторе LinqToSQL задайте первичные ключи в обоих столбцах каждой таблицы. Мне также пришлось отключить автосинхронизацию в столбце родительской таблицы, который я назначил в качестве первичного ключа.

Автосинхронизация описана здесь .. Указывает общеязыковой среде выполнения (CLR) получить значение после операции вставки или обновления.

Ссылка: http://msdn.microsoft.com/en-us/library/bb386971.aspx

2 голосов
/ 21 октября 2009

У нас была эта проблема с представлениями. Мы просто определили ключи в редакторе DBML, и свойство было окончательно определено.

0 голосов
/ 13 марта 2009

Вы отключили (установили в false) свойство child или parent?

Возможно, вы наметили взаимно-однозначное отношение (как я сделал менее часа назад)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...