Отношения таблицы базы данных: всегда также относятся к указанному значению (Linq to SQL в .NET Framework) - PullRequest
0 голосов
/ 11 апреля 2010

Я действительно не могу лучше описать свой вопрос в заголовке.Если у кого-то есть предложения: Скажите, пожалуйста!

Я использую инфраструктуру Linq to SQL в .NET.Я столкнулся с чем-то, что могло бы быть легко решено, если бы фреймворк поддерживал это, иначе было бы много лишнего кодирования:

У меня есть отношение к n с промежуточной таблицей между ними.Такими таблицами являются: Предметы, места и таблица соединений, которая связывает предметы с местами и наоборот.Один предмет можно найти во многих местах, поэтому в одном месте может быть много предметов.

Теперь, конечно, будет много предметов, которые будут находиться во ВСЕХ местах.Теперь возникает проблема: места всегда можно добавлять.Поэтому мне нужен идентификатор места, который охватывает ВСЕ места, всегда.Как, возможно, идентификатор места "0".Если у вспомогательной таблицы есть строка с идентификатором места, равным нулю, это должно быть видно во всех местах.В SQL это было бы просто «Где [...] или place-id = 0», но как мне это сделать в отношениях Linq?

Также, для небольшого побочного вопроса: Как я могу управлять исключениями типа «все, кроме этого места»?

1 Ответ

1 голос
/ 12 апреля 2010

В Linq to Sql отношения между сущностями, как определено в макете dbml, не могут быть определены количественно в том виде, как вы описываете. Вы можете написать метод в частичном классе, который использует синтаксис linq join, и удалить связь из диаграммы.

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

...