Вопрос

Итак, я создал в своем проекте dbml, в котором есть три таблицы:Элементы, ElementImages и изображения.Каждая запись Element может иметь несколько записей ElementImage, и каждая из этих записей ElementImage должна иметь одну запись Image.Первичные и внешние ключи настроены правильно, и ассоциации также определены правильно.Так почему же я не вижу коллекции по каждому из объектов?Я ожидал, что у Element будет коллекция ElementImages, а у ElementImage будет свойство Image, но ничего из этого не отображается в моем Intellisense.Я несколько раз удалял и воссоздавал dbml, даже в других таблицах, но безрезультатно.

Это было полезно?

Решение

У меня никогда не возникало этой проблемы при перетаскивании из панели обозревателя серверов.

Мы используем bigint в качестве PK/FK, поэтому я не могу сказать, доставляют ли вам проблемы именно Guids.Вы можете попробовать протестировать, используя те же шаги, используя bigint/long, что и ваши ПК, чтобы увидеть, работает ли это для вас.

Я сталкивался с этим только тогда, когда думал, что настрою внешние ключи в таблице БД, но на самом деле забыл.В Server Explorer это трудно сказать с первого взгляда.Если они настроены правильно, вы должны увидеть стрелки между таблицами в области конструктора.Если вы сразу не увидите стрелки, я подозреваю, что ваши FK настроены неправильно.

Используя панель свойств, вы можете изменить видимость свойств ассоциации.Нажатие на сами стрелки позволяет вам изменить родительские/дочерние свойства с помощью панели «Свойства».Обычно я отключаю дочернее свойство, но вы можете ограничить видимость родительского свойства только внутренним.Я предлагаю проверить их, чтобы убедиться, что он не отключен или его видимость установлена ​​ниже, чем вы ожидаете.

Другие советы

Какие типы полей используются для полей вашей базы данных? Некоторые из них не поддерживаются L2S. Появляются ли они в таблицах, когда вы переходите на поверхность dbml?

Отсутствие первичного ключа в родительской или дочерней таблице приведет к этой проблеме.

Если первичный ключ существует в базе данных, но поле не помечено в конструкторе как первичный ключ, просто щелкните его правой кнопкой мыши, выберите свойства и убедитесь, что «Первичный ключ» установлен. установлено в true. По крайней мере одно поле в таблице должно быть помечено, прежде чем разработчик создаст ассоциации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top