2009-07-09 4 views
1

Я создаю файл .dbml из базы данных. В моей таблице свойств есть внешние ключи к таблице «county» и таблице «propertysource».dbml проблемы связи сущности

Когда код сгенерирован, свойство.Source определяется как тип PropertySource, но свойство.County определяется как int, а не тип округа.

Боюсь, у меня нет опыта работы с LINQ to SQL, чтобы понять, что здесь происходит или почему это или как его исправить. Я не могу найти ничего очевидного в моей схеме, которая может вызвать это. Как я могу получить автоматически генерируемый код для распознавания свойства County объекта Property - тип округа?

ответ

1

Когда вы открываете конструктор dbml, убедитесь, что у вас есть диаграмма, показывающая две стрелки из класса Property: одна стрелка идет в класс County, а другая - в класс PropertySource. Кроме того, вы должны иметь эти три класса в своем дизайнере.

Если вы не видите объектную модель таким образом, возможно, что-то не так с тем, как настроена схема вашей базы данных.

Я бы попробовал убедиться, что ваши внешние ключи настроены правильно.

+0

Диаграмма выглядит правильно; стрелки в правильных местах. Все три объекта находятся в дизайнере. Правильно настроены внешние ключи. –

+0

Не могли бы вы взять рис диаграммы и включить его в свой вопрос? Я чувствую, что это связано с вашими свойствами и тем, как они настроены, но я не могу быть уверен, если не могу это увидеть. – Joseph

2

Когда вы нажимаете на Property в DBML-файле, вы можете изменить его тип, используя окно «Свойства». В окне «Свойства» есть поле «Тип». Вы можете выбрать некоторые из стандартных типов из раскрывающегося списка или ввести свой собственный тип, используя его полное имя, т.е. «MyProject.Location.Country.CountryType» и т. Д.

Обязательно перестройте свой проект, прежде чем пытаться получить к нему доступ в IntelliSense. Надеюсь это поможет!

Смежные вопросы