Postavka je ovakva: imam 4 projekta, A, B, C i D. B i C referenciraju A, D referencira sve ostale.
A je mala class lib. koja definise asp.net identity user/role/... klase (ms je default napravio sa stringom kao key-em pa sam hteo da napravim sa int-om i da imam u posebnom dll-u, da ne radim svaki put).
E sad, projekat B je class lib koji definise nove entity-e i DbContext. Medjutim, on mora da prosiri User-a novim kolonama i kolekcijama entiteta (tipa, kolekcijom dokumenata kojima je autor).
Projekat C je isti sistem kao B, samo se bavi drugim stvarima.
Projekat D je aplikacija koja koristi biblioteke B i C i koja ce takodje imati svoje entity objekte i DbContext.
Problem je kako zadovoljiti sve potrebe za User entity-a. UserB i UserC (iz B i C projekta) mogu nasledtiti UserA, ali UserD ne moze u isto vreme naslediti UserB i UserD.
Idealno bi bilo ako bih mogao da koristim samo jedan DbContext sa jednom grupom entity-a.
Resenje koje bih da izbegnem je da imam konverzije iz UserD u UserA/B/C i nazad i koriscenje 4 DbContext-a (teoretski, pored B i C moze paralelno biti i vise projekata).
A je mala class lib. koja definise asp.net identity user/role/... klase (ms je default napravio sa stringom kao key-em pa sam hteo da napravim sa int-om i da imam u posebnom dll-u, da ne radim svaki put).
E sad, projekat B je class lib koji definise nove entity-e i DbContext. Medjutim, on mora da prosiri User-a novim kolonama i kolekcijama entiteta (tipa, kolekcijom dokumenata kojima je autor).
Projekat C je isti sistem kao B, samo se bavi drugim stvarima.
Projekat D je aplikacija koja koristi biblioteke B i C i koja ce takodje imati svoje entity objekte i DbContext.
Problem je kako zadovoljiti sve potrebe za User entity-a. UserB i UserC (iz B i C projekta) mogu nasledtiti UserA, ali UserD ne moze u isto vreme naslediti UserB i UserD.
Idealno bi bilo ako bih mogao da koristim samo jedan DbContext sa jednom grupom entity-a.
Resenje koje bih da izbegnem je da imam konverzije iz UserD u UserA/B/C i nazad i koriscenje 4 DbContext-a (teoretski, pored B i C moze paralelno biti i vise projekata).