此代码
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>();
}
}
抛出错误:
无法解决财产:患者: SolutionConsultants.WebScreening.Entities.Patients.Patient
Type.IsGenericParameter为true的类型
任何想法?
答案 0 :(得分:2)
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))))
答案 1 :(得分:0)
我不知道这是否是您的想法,但可能patient
只是您想要用于查询的别名,如果是这种情况,您只需将其包含在{{像这样的方法(未经过测试,我离开了我的电脑):
CreateCriteria
希望它有所帮助!