c# - Entity Framework 5.0 and Inheritance -


i have couple of classes setup so:

member (abstract)

  • property1
  • property2 (etc.)

organizationmember : member

  • property3
  • property4 (etc.)

privatemember : member

  • property5
  • property6 (etc.)

i have 3 database tables structured same way - data common both types of member entities stored in member table, data specific organizationmember stored in corresponding table , data specific privatemember stored in corresponding table. id member table same id other 2 tables since it's 1-1 relationship - classification each type has stuff specific it. doesn't matter here, nothing can member directly - have 1 of 2 types.

when setup mapping (using fluid - ef handcoded, no designers , no edmx files), if tell organizationmember ignore properties inherited member, "you cannot use ignore method on property '[propertyname]' on type '[typename]' because type inherits type '[basetype]' property mapped. exclude property model, use notmappedattribute or ignore method on base type." error. when tell not ignore properties inherited member throws error ("problem in mapping fragments starting @ [...] [typename] being mapped same rows in table member. mapping conditions can used distinguish rows these types mapped to."). frustrating part here properties erroring out aren't supposed mapped @ either entity - part of overall framework design, have no database relevancy @ , don't exist there.

i would've assumed pretty standard thing setup, ef not playing nice. suggestions?

this article describes mapping of inheritance types. lists different ways handle mapping inheritance depending on want achieve.

http://msdn.microsoft.com/en-us/data/jj591617.aspx#2.5