Trying to map a Order Class with two identical sub classes and Getting the following error
Could not find a getter for property 'RatingCriteria1' in class 'ORM.Entities.Enquiry.EnquiryOrder'
Basically I have one table in database with alot of columns. 12 columns are rating related
BuyerRatingCriteria1,BuyerRatingCriteria2, BuyerRatingCriteria3, BuyerRatingCriteria4, BuyerRatingCriteria5, BuyerRatingCriteriaComments
And
SupplierRatingCriteria1, SupplierRatingCriteria2, SupplierRatingCriteria3, SupplierRatingCriteria4, SupplierRatingCriteria5, SupplierRatingCriteriaComments
I want to simplify these into two subclasses on the so that i have
Order.SupplierRating.Criteria1
and
Order.BuyerRating.Criteria1
for example
public class EnquiryOrder : Entity
{
public virtual int Id { get; set; }
public virtual DateTime DateOrdered { get; set; }
public virtual string PONumber { get; set; }
public virtual string SONumber { get; set; }
public virtual Rating SupplierRatings { get; set; }
public virtual Rating BuyerRatings { get; set; }
}
public class Rating : Entity
{
public virtual int RatingCriteria1 { get; set; }
public virtual int RatingCriteria2 { get; set; }
public virtual int RatingCriteria3 { get; set; }
public virtual int RatingCriteria4 { get; set; }
public virtual int RatingCriteria5 { get; set; }
public virtual string RatingCriteriaComment { get; set; }
}
Mapping I thought would be as easy as this
public EnquiryOrderMapping()
{
Id(x => x.Id).Column("EnquiryOrderId");
Map(x => x.DateOrdered);
Map(x => x.PONumber).Nullable();
Map(x => x.SONumber).Nullable();
Map(x => x.BuyerRatings.RatingCriteria1).Column("EnquiryBuyerRatingsRatingCriteria1").Nullable();
Map(x => x.BuyerRatings.RatingCriteria2).Column("EnquiryBuyerRatingsRatingCriteria2").Nullable();
Map(x => x.BuyerRatings.RatingCriteria3).Column("EnquiryBuyerRatingsRatingCriteria3").Nullable();
Map(x => x.BuyerRatings.RatingCriteria4).Column("EnquiryBuyerRatingsRatingCriteria4").Nullable();
Map(x => x.BuyerRatings.RatingCriteria5).Column("EnquiryBuyerRatingsRatingCriteria5").Nullable();
Map(x => x.BuyerRatings.RatingCriteriaComment).Column("EnquiryBuyerRatingsRatingCriteriaComment").Nullable();
}
No I have left out mapping the supplier side here as I was trying to simplify it best I could to be able to solve it.
So I don’t understand why its having a issue… I’ve told it which column to look at (full name) not “RatingCriteria1”
as well as when I do have a variable RatingCriteria1 it has a getter and setter!!!
very odd… am i missing something you have to do when mapping sub classes like this?
You need to map Ratings as a component, by doing: