Ошибка критерия Nhibernate - PullRequest
       0

Ошибка критерия Nhibernate

0 голосов
/ 09 сентября 2011

этот код

        public IList<Patient> GetByMRNNameDOB(Patient patient)
    {
        using (ISession session = SessionManager.Current.OpenSession())
        {
            ICriteria criteria = session.CreateCriteria(typeof (Patient))
                .Add(Expression.Disjunction()
                         .Add(Expression.Eq("patient.MedicalRecordNumber", patient.MedicalRecordNumber))
                         .Add(Expression.Conjunction()
                                  .Add(Expression.Eq("patient.FirstName", patient.FirstName))
                                  .Add(Expression.Eq("patient.LastName", patient.LastName))
                                  .Add(Expression.Eq("patient.Birthday", patient.Birthday))));

            return criteria.List<Patient>();
        }
    }

выдает ошибку:

Не удалось разрешить свойство: Patient of: SolutionConsultants.WebScreening.Entities.Patients.Patient

Тип, для которого Type.IsGenericParameter является истинным

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011
ICriteria criteria = session.CreateCriteria(typeof (Patient))
    .Add(Expression.Disjunction()
                     .Add(Expression.Eq("MedicalRecordNumber", 
                                        patient.MedicalRecordNumber))
                     .Add(Expression.Conjunction()
                              .Add(Expression.Eq("FirstName", patient.FirstName))
                              .Add(Expression.Eq("LastName", patient.LastName))
                              .Add(Expression.Eq("Birthday", patient.Birthday))))
0 голосов
/ 09 сентября 2011

Я не знаю, имеет ли это в виду то, что вы имели в виду, но, вероятно, patient - это просто псевдоним, который вы хотели использовать для запроса, если это так, вы можете просто включить его в метод CreateCriteriaвот так ( не проверено , я далеко от компьютера):

ICriteria criteria = session.CreateCriteria(typeof(Patient), "patient");
...

Надеюсь, это поможет!

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