I have a set of fields that I intend to share between multiple models. I want all the fields to be included in each entity’s table (not just one table for the fields). I’m more familiar with languages such as Python, where this type of pattern is called a “mixin”, essentially a class that doesn’t exist on its own (it doesn’t get instantiated/doesn’t have a table in the case of a model class). Instead, the derived class simply inherits the fields and its table looks as if the fields were simply included right on the model class.
The concept of a “Complex Type” in Entity Framework seems like a close proxy to what I’m looking for, but the inability to include navigation properties is a bit of killer. Is there any other way to do this, or if Complex Types are the answer, then what should I do about the navigation properties?
Actually had a chance to discuss this with one of the developers on Entity Framework. It’s not technically possible at this time. It’s apparently being kicked around, but no one is working on it at this point. Complex Types are a sort-of version, but they of course don’t support navigation properties. Thanks to everyone who took at stab at it for me.