Wait, I just realized that I may still be confused. Your example is assigning Id(x =>, but this is a composite key. How will FNH know that PolicyNumber=PolNbr?
On Jan 19, 2:37 pm, Hudson Akridge <[email protected]> wrote: > I'm guessing that PolicyNumber/PolicyDate in Policy are mapped as a > composite key? > > Is there any reason for this other than that's what the database has mapped > it as? Is PolicyNumber a valid entity Identifier as far as the domain model > is concerned? > > If so, then you'd just map PolicyNumber with an > Id(x=> x.PolicyNumber).GeneratedBy.Assigned(); //Just a guess on the > assigned thing since I think your app might generate them > > And map your collection like so: > HasMany<CreditCard>(x => x.CreditCards).AsBag() > .KeyColumn(PolNbr ); > > Viola. Done. No need for a where at all there. > > Now, given that I caught a mapping. prefix, I'm assuming you're using an > automapper. I'd advise against it in your case. It's very rare to expect > automapper to automagically map for a legacy database environment. Swap to > Fluent Mappings. > > > > On Tue, Jan 19, 2010 at 1:06 PM, Corey Coogan <[email protected]> wrote: > > I have 2 entities that are described below. I want to map many credit > > cards to one policy. There is no proper FK between them in our Oracle > > DB (I can't change the DB at all). They do match up on the > > PolicyNumber->PolNbr properties though. > > > I can't figure out how to map this relationship. Here's what I have > > so far, but I'm not sure how to specify the Key in the containing > > entity that doesn't match. > > > mapping.HasMany<CreditCard>(x => x.CreditCards) > > .KeyColumn(PolNbr ) > > //where to map CreditCard.PolNbr to Policy.PolicyNumber > > > Policy > > { > > PolicyNumber : string (PK) > > PolicyDate : date (PK) > > CreditCards : IList<CreditCard> > > } > > > CreditCard > > { > > PolNbr : String (PK) > > CcType : String (PK) > > ExpDt : String (PK) > > //3 more columns that are the PK > > } > > > -- > > You received this message because you are subscribed to the Google Groups > > "Fluent NHibernate" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<fluent-nhibernate%[email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/fluent-nhibernate?hl=en. > > -- > - Hudsonhttp://www.bestguesstheory.comhttp://twitter.com/HudsonAkridge
-- You received this message because you are subscribed to the Google Groups "Fluent NHibernate" 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/fluent-nhibernate?hl=en.
