0
  • Родитель таблица AspNetUser -> подчиненная таблица Ad
  • Родитель таблица Ad -> подчиненная таблица Mobile Ad
  • Родитель таблица Ad -> подчиненная таблица AdsLocation (несколько мест на одно объявление)
  • родитель таблица City -> подчиненная таблица PopularPlace

Вопросы:Таблица соотношения и запроса Entity Framework

  1. Если я должен добавить соотношение между Mobile Ad и Mobile? (Mobile объект не должен быть удален на удаление MobileAd и не должны повторяться строки в таблице Mobile)

  2. Если я должен добавить отношение AdsLocation с City и PopularPlace?

  3. Написать запрос для получения объявлений на основе companyName (Mobile таблицы) и должен получить имя пользователя, название, цена, COMPANYNAME, ModelName и несколько мест с CITYNAME и popularPlaceName (короче получить столбец из каждой таблицы :) Синтаксис метода должен быть предпочтительным.

enter image description here

ответ

2

1) Да, вы должны создать связь между мобильным и мобильным объявлением, поскольку мобильные объявления ссылаются мобильный идентификатор.

2) Да, вы должны создать связь между AdsLocation и City, поскольку AdsLocation ссылается на идентификатор города.

3) До тех пор, пока не будет сформировано отношение в части 1, этот запрос будет невозможен. Однако, пытаясь написать запрос LINQ для этого вопроса, я понял, что в вашей базе данных есть некоторые проблемы с дизайном. Например, может ли одно и то же объявление размещаться разными компаниями? На данный момент ваш дизайн позволяет это сделать. Ваш дизайн также позволяет любому пользователю публиковать объявление для любой компании. В реальном мире только маркетинговая команда компании X должна иметь возможность создавать рекламу для компании X. Думаю, вам стоит потратить больше времени на изучение этого дизайна!

+0

Спасибо, но сущность 'Mobile' не должна быть удалена при удалении« MobileAd », и в таблице« Мобильный »не должно быть повторных строк. Поэтому первичные иностранные отношения не подходят. –

+0

Почему вы идете на первичные иностранные отношения? MobileAd имеет простой внешний ключ для мобильных устройств. В текущем проекте я бы предположил, что Ad и Mobile созданы до создания MobileAd. –

+0

yes Объявление и мобильные телефоны создаются до создания MobileAd. Какую связь я должен использовать? –

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