Как обработать “вторичные” ключи в Платформе Объекта

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

    select b.city,b.country,a.region,a.rating from
  (SELECT max(c.id) as city_id,
       c.region,
       max(n.rating) as rating from cities c
  JOIN nightlife n
ON n.cityID = c.id
WHERE c.popular = true
group by c.region
ORDER BY n.rating
DESC) a inner join cities b on a.city_id=b.id;
6
задан Jason Plank 17 November 2011 в 15:14
поделиться

1 ответ

Linq к объектам не поддерживает Внешние ключи, которые не указывают на первичный ключ таблицы (см. сообщение 3 журнала). Linq к объектам будет рассматривать его как нормальное поле на таблице. Вы не сможете перейти к объекту, с которым это связано.

Если бы у Вас есть существующая схема, я рекомендовал бы использовать генератор EDM, поскольку это создаст файл EMDX, код позади и даже код представления (который может быть очень большим). Если Ваша существующая схема является довольно большим Выездом это сообщение, которое объясняет, как иметь дело с большими схемами.

При выполнении Генератора EDM, Вы узнаете все вещи, которые не поддерживаются.

Рассмотрение предыдущего EDMGen2.exe регистрируется, мы вернули следующие типы сообщений:

  1. Тип данных 'sql_variant' не
    поддерживаемый, столбец 'ColumnName' в таблице 'TableName' был исключен.
  2. Таблице/представлению 'имя таблицы' не определили первичный ключ. Ключ был выведен, и определение было создано как таблица/представление только для чтения
  3. Отношения 'RelationshipName' имеют столбцы, которые не являются частью ключа таблицы на основной стороне отношений, которые не поддерживаются, отношения были исключены.

Мы также нашли, что проект Linq на самом деле разрушил Visual Studio довольно много, поскольку файл кода, произведенный EDM, был хорошо более чем 80 МБ.

3
ответ дан 17 December 2019 в 18:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: