We are attempting to construct an .rlinq model against views (as opposed to tables). Our model includes several classes that use vertical inheritance. Unfortunately, it would seem that the designer is generating incorrect XML for the discriminators when views are used. In particular, the orm:discriminator elements are being lost, leaving only discriminator-value attributes on the orm:class elements.
It would seem that the orm:discriminator elements are the important pieces that are consumed during runtime metadata parsing, which leaves code executed against our model unable to identify target subclass types during mapping. e.g.:
Row for OID GenericOID@xxxxxxx Dog Id=616 NOTRES is not in the hierarchy starting at Foo.DataEntities.WeinerDog ('dbo'.'WeinerDog') (voa_class for row is 3)
We do not see either the design-time or runtime problem when the model is built against tables instead of views (with identical columns, including a voa_class column on the inheritance root table).
So... Is vertical inheritance mapping using views a supported scenario? If so, is there a workaround for this particular problem, or should we just submit a bug report?