2009-08-14 4 views
2

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

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

Customer.TypeId -> CustomerTypes.Id 

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

from c in Customers select c.Type.Name 

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

ответ

2

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

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

0

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

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

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

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

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

  • Нет связанных вопросов^_^