For a new project, our application developers want to use an Entity Framework type inheritance model for each type.
We recently showed this functionality and the resulting table schema to our database administrator, and he expressed concern, and I wonder how to solve them. Inheritance - an important part of OO, and by the developers would be great to DB and ORM supported this concept initially. This functionality is part of EF, so we donβt like that we pull the design from the left margin.
Its main problems:
- We do not use stored procedures
- Increased complexity and simplify the reporting data.
We pretty much looked at his saved problems with proc (and we've been using another ORM for 3 years now).
As for the difficulty, I can see his point, but the counter-point turning to them (for me):
- Reports should not be run from transactional tables (we are currently doing this); you should use views or a transformed report database.
- updating data on a more dense structure can spoil the data - is the responsibility of the person who updates the data in order to understand the structure. The scheme used EF type inheritance model for each type, not so complicated, but it must be followed when performing manual updates.
I know that we are not the first to encounter DBA issues regarding inheritance of a DB-enabled model. Like other convinced their DBA, it is a good model?
source share