/ / Czy powinienem użyć klasy częściowej dla Entity Framework DBContext w innej przestrzeni nazw - asp.net-mvc, entity-framework, orm, entity-framework-5

Czy powinienem używać częściowej klasy dla Entity Framework DBContext w innym obszarze nazw - asp.net-mvc, entity-framework, orm, entity-framework-5

W moim rozwiązaniu mam dwa projekty:

Projekt 1: Główny projekt internetowy (przestrzeń nazw: MVCWebsite) [duży] Projekt 2: Projekt demona (dla zaplanowanych zadań) (przestrzeń nazw: MVCDaemon) [mały] [justcodingnow]

Projekt 1 ma EF DBContext, Projekt 2 będzie miał kolekcję EF (w tym samym kontekście, ponieważ używa kolekcji Projektu 1).

Jak najlepiej to ustrukturyzować?

Czy powinienem mieć klasę w Projekcie 2, z taką samą przestrzenią nazw jak Projekt 1, i użyć częściowej klasy DBContext Projektu 1.

E.G, Projekt 1:

namespace MVCWebsite.Models
{
public partial class BaseDBContext : DbContext
{
}
}

I Projekt 2:

namespace MVCWebsite.Models
{
public partial class BaseDBContext : DbContext
{
}
}

I.E Zdecydowanie nieinwazyjne jest posiadanie pliku namespace.class w projekcie, przy czym normalna przestrzeń nazw to coś innego !!

Czy to okropne / niebezpieczne? Czy istnieje lepszy sposób na zaprojektowanie tego?

Odpowiedzi:

2 dla odpowiedzi № 1

Wszystkie częściowe pliki kodów klas muszą znajdować się w tym samym zestawie.

Mam nadzieję, że ułatwi to decyzję.

Lepszym rozwiązaniem jest utworzenie trzeciego projektu zawierającego pełną definicję klasy DBContext z całą kolekcją, do której odwołuje się zarówno projekt Daemon, jak i projekt internetowy.