Use Name.FullName instead of Patient.Name.FullName. Patient does not have a Patient property.
Diego On Tue, Jun 15, 2010 at 11:22, Reggie Pangilinan <[email protected] > wrote: > This is my full mapping file for Patient Entity > > > <?xml version="1.0" encoding="utf-8" ?> > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > assembly="OneCare.Domain" > namespace="OneCare.Domain.Entities"> > <class name="Patient"> > <id name="Id" type="Int64"> > <generator class="hilo"/> > </id> > <version name="RecordVersion" column="RecordVersion" type="int"/> > <component name="Name" > class="OneCare.Domain.Entities.PersonName,OneCare.Domain" > > <property name="Firstname" not-null="true"/> > <property name="Lastname" not-null ="true"/> > <property name="Middlename"/> > </component> > <property name ="Gender" type > ="OneCare.Domain.Entities.Gender,OneCare.Domain" /> > <property name ="Birthdate" type ="System.DateTime" not-null="true"/> > <many-to-one name="Doctor" column="DoctorId" /> > </class> > </hibernate-mapping> > > > i achieved what i want using this HQL query > > IList<PatientListViewModel> list = > _patientDao.ContextSession.CreateQuery(@" > select > > f.Birthdate as Birthdate, > > f.Doctor.Id as DoctorId, > > f.Gender as Gender, > f.Id > as PatientId, > f.Name > as Name > > from Patient f > where f.Doctor.Id = > :userid > ") > > .SetInt64(@"userid",WebUserHelper.CurrentUserId) > > .SetResultTransformer(NHibernate.Transform.Transformers.AliasToBean<PatientListViewModel>()) > .List<PatientListViewModel>(); > > Now i want to know if i can do this using the CRITERIA API, i heard that > there are limitations using the criteria api. so is it possible to achive > this kind of result? Thanks in advance. > > > > On Mon, Jun 14, 2010 at 10:34 PM, Jason Dentler <[email protected]>wrote: > >> What is your mapping for Patient and Name ? >> >> Thanks, >> Jason >> >> >> On Mon, Jun 14, 2010 at 12:04 AM, reggieboy >> <[email protected]>wrote: >> >>> Hello guys im trying to hydrate a DTO using projections in NHibernate >>> this is my code >>> >>> >>> IList<PatientListViewModel> list = >>> >>> y.CreateCriteria<Patient>() >>> >>> .SetProjection(Projections.ProjectionList() >>> >>> .Add(Projections.Property("Birthdate"), >>> "Birthdate") >>> >>> .Add(Projections.Property("Doctor.Id"), >>> "DoctorId") >>> >>> .Add(Projections.Property("Gender"), >>> "Gender") >>> >>> .Add(Projections.Property("Id"), >>> "PatientId") >>> >>> .Add(Projections.Property("Patient.Name.Fullname"), >>> "Fullname") >>> ) >>> >>> .SetResultTransformer(Transformers.AliasToBean<PatientListViewModel>()) >>> .List<PatientListViewModel>(); >>> >>> >>> But this is throwing and exception, what do you think seems to be the >>> problem? is this a limitation of the CRITERIA API? >>> >>> here is the error message >>> >>> Message: could not resolve property: Patient.Name.Fullname of: >>> OneCare.Domain.Entities.Patient >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "nhusers" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]<nhusers%[email protected]> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/nhusers?hl=en. >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "nhusers" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<nhusers%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/nhusers?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "nhusers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<nhusers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
