NHibernate - QBE - PullRequest
       12

NHibernate - QBE

0 голосов
/ 25 января 2011

У меня проблема с использованием QBE с NHibernate.У меня есть отношение один к одному между классом Person и Employee.

public class Person
{
    public virtual Employee Employee { get; set; }
    public virtual int Age { get; set; }
    public virtual string Forename { get; set; }
    public virtual string Surname { get; set; }
    public virtual int PersonID { get; set; }
}

public class Employee
{
    public virtual int PersonID { get; set; }
    public virtual string PayRollNo { get; set; }
    public virtual int Holidays { get; set; }
    public virtual Person Person { get; set; }
}

Например, я хочу получить всех сотрудников, где Employee.Forename = "John" и Employee.Person.PayRollNo= "231А".Мне было интересно, могу ли я использовать Query By Example для этого?

1 Ответ

2 голосов
/ 25 января 2011

Мне не удалось найти категорическое «нет», но я не смог получить эту работу.Я обнаружил, что QBE перспективен, но, к сожалению, не очень полезен из-за следующих ограничений:

  • Невозможно запросить связанные объекты.
  • Требуется открытый конструктор без параметров.Инициализированные свойства включаются в запрос, если специально не исключены с помощью ExcludeProeprty.Например, свойства bool ограничены значением false в предложении where, DateTime как DateTime.MinValue.Это делает запрос очень хрупким, потому что модификации класса могут иметь плохие побочные эффекты.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...