Добавить свойство в LINQ, которое является комбинацией нескольких таблиц? - PullRequest
0 голосов
/ 01 апреля 2009

В настоящее время у меня есть 3 отдельные таблицы: Course, Category и CourseCategory. CourseCategory - это соединение, имеющее только CourseID и CategoryId. Мне нужен способ в LINQ-to-SQL добавить свойство Category к объектам Course, которое абстрагируется от нескольких таблиц. Нам нужно изменить приложение, чтобы разрешить только одну категорию, но мы не хотим менять базу данных на случай, если нам понадобится переключить ее позже.

Как добавить свойство Course, которое получит первую категорию в таблице CourseCategory?

1 Ответ

0 голосов
/ 01 апреля 2009

Просто добавьте в свой объект «Курс» новое свойство. Следующее будет отображать единственную категорию (не CourseCatergory, но вы можете легко изменить ее, если вы хотите CourseCategory), связанную с курсом, вернуть null, если ее нет, и выдать исключение, если их больше одной.

public partial class Course
{
   public Category Category
   {
      get { return this.CourseCategories.SingleOrDefault().Category; }
   }
}

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

UPDATE

Вы должны даже использовать Single () вместо SingleOrDefault (), если также не разрешено связывать ни одну категорию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...