Почему мои вручную созданные таблицы связей Linq2Sql отображаются в коде?

2

У меня есть некоторые представления, которые я хотел бы связать вместе в моем файле DBL Linq2Sql.

Я щелкнул правой кнопкой мыши, выбрал "Добавить ассоциацию" и вручную создал ассоциации от детей к родителям, например:

Customer.TypeId -> CustomerTypes.Id

Но я не могу сделать это в своем коде:

from c in Customers select c.Type.Name

Любые подсказки? Если бы отношения существовали в базе данных, чего у них нет и не могут, тогда я смогу это сделать.

Теги:
entity-relationship
linq-to-sql

2 ответа

2
Лучший ответ

Это странно; Я помню, как писал ответ, который я придумал здесь!

В основном проблема заключалась в том, что, поскольку я смотрел на Views в отличие от таблиц и пытался связать их вместе в DBML файле, у них явно не было первичных ключей. Однажды я сказал Linq2Sql, что столбцы были первичными ключами, это был счастливый случайный!

0

Я просто попробовал то же самое, и запрос был возможен только после того, как я перестроил решение, содержащее файл dbml linq-to-sql. Вы перестроили решение после внесения изменений в отношения?

Это было сделано с использованием двух таблиц, хотя позвольте мне связать два представления, и я отредактирую этот ответ с результатами

EDIT: Хорошо, что отстой, помещая ассоциацию в запрос LinqToSql, что запросы только запросов в базе данных не работают. Однако вы можете указать соединение в своем запросе linq. К сожалению, это похоже на выполнение двойной работы, определяющей ее в файле DBML и в вашем коде, но если вы просто поместите некоторые комментарии, люди поймут, почему вы это сделали.

Итак, по крайней мере, в файле DBML, который "join" отображается другим.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню