У меня есть некоторые представления, которые я хотел бы связать вместе в моем файле DBL Linq2Sql.
Я щелкнул правой кнопкой мыши, выбрал "Добавить ассоциацию" и вручную создал ассоциации от детей к родителям, например:
Customer.TypeId -> CustomerTypes.Id
Но я не могу сделать это в своем коде:
from c in Customers select c.Type.Name
Любые подсказки? Если бы отношения существовали в базе данных, чего у них нет и не могут, тогда я смогу это сделать.
Это странно; Я помню, как писал ответ, который я придумал здесь!
В основном проблема заключалась в том, что, поскольку я смотрел на Views в отличие от таблиц и пытался связать их вместе в DBML файле, у них явно не было первичных ключей. Однажды я сказал Linq2Sql, что столбцы были первичными ключами, это был счастливый случайный!
Я просто попробовал то же самое, и запрос был возможен только после того, как я перестроил решение, содержащее файл dbml linq-to-sql. Вы перестроили решение после внесения изменений в отношения?
Это было сделано с использованием двух таблиц, хотя позвольте мне связать два представления, и я отредактирую этот ответ с результатами
EDIT: Хорошо, что отстой, помещая ассоциацию в запрос LinqToSql, что запросы только запросов в базе данных не работают. Однако вы можете указать соединение в своем запросе linq. К сожалению, это похоже на выполнение двойной работы, определяющей ее в файле DBML и в вашем коде, но если вы просто поместите некоторые комментарии, люди поймут, почему вы это сделали.
Итак, по крайней мере, в файле DBML, который "join" отображается другим.