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.
>
>
>
>
--
- Hudson
http://www.bestguesstheory.com
http://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.
