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 № 1Wszystkie 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.