В fluent-nhibernate вы можете перехватить запрос выбора для выполнения дополнительной фильтрации на основе подкласса - PullRequest
0 голосов
/ 09 марта 2011

Я просматривал различные вопросы на этом сайте, и они почти подошли, чтобы ответить на то, что я ищу, но я не смог собрать все воедино, чтобы заставить его работать. В основном у меня было что-то вроде этого:

class test: subclass
{
  int happyInt;
  //Other stuff goes here, doesn't really matter for this example.
}

class test2: subclass
{
  string happyString;
  //Other stuff goes here, doesn't really matter for this example.
}

class subclass
{
  int intIWantToFilterby;
}

У меня все сопоставлено, и я могу без проблем получать данные в и из БД, и у меня даже есть перехватчики, которые работают, но в основном я хочу каждый раз, когда выполняется выбор для теста или test2 как часть выбора Я хочу, чтобы он проверил, равно ли intIWantToFilterby некоторому значению. Я понимаю, что могу сделать это вручную, но у меня есть большое количество классов, которые все наследуются от подкласса, и я не хочу писать одну и ту же логику более 100 раз. До сих пор я не смог понять, как это сделать. Может быть, я упускаю что-то очевидное, но по моим поискам на свободном сайте и на сайте nhibernate, а также здесь я не смог найти решение.

1 Ответ

0 голосов
/ 21 марта 2011

Создайте новый класс, который наследует подкласс, и поместите туда все ваши общие логики. Теперь создайте test и test2 и унаследуйте ваш другой общий логический класс.

...