Ich bin daran interessiert, wie ich zwei Entitäten zu derselben Tabelle zuordnen kann, indem Sie zuerst Code verwenden. Hier ist ein Beispiel:EF Code Erste Mehrere Entitäten in derselben Tabelle
public class User
{
[Key]
public int UserId { get; set; }
public string Name { get; set; }
public byte Age { get; set; }
public bool Active { get; set; }
public DateTime Created { get; set; }
}
public class UserViewModel
{
[Key]
public int UserId { get; set; }
public string Name { get; set; }
public byte Age { get; set; }
}
Grundsätzlich habe ich die Nase voll mit dem Bau von Repositories. Ich möchte alle möglichen Modelle für Konfigurationsportal, Benutzerportal, andere Dienste in Modelbuilder abbilden und benutze einfach DbContext für alles. Ich möchte Benutzerklasse als oberste der Hierarchie und eine Klasse festlegen, die die Datenbank erstellt, während alle anderen Modelle nur für verschiedene Anwendungen vorhanden sein sollten.
Ich möchte nicht Autoadapter verwenden. Ich habe auch eine Menge manuellen Codierens gemacht, was nur meine Zeit verschwendet hat, und jede einzelne Änderung erfordert, dass ich zurück zum Repository gehe und rekodiere - was mich ärgert.
Ich habe versucht, dies in Modellbauer zu verwenden, aber es warnt mich, dass Hierarchie nicht gültig ist:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().Map(p => { p.ToTable("Users"); });
modelBuilder.Entity<UserViewModel>().Map(p => { p.ToTable("Users"); });
}
Denken Sie auch daran, dass ich nicht zu erreichen „Table Splitting“ versuchen. Ich möchte nicht, dass meine Tabelle in zwei Entitäten aufgeteilt wird. Ich möchte vielmehr, dass alle Spalten nullbar sind, mit Ausnahme einer mit Primärschlüssel, und dass verschiedene Anwendungen/Webdienste/Webportale so viele Daten ausfüllen können, wie sie gewährt wurden Zugang für.
Danke für alle Tipps :)
Werfen Sie einen Blick auf die allgemeine Repository-Muster. Sie benötigen lediglich ein einziges Basisrepository für alle Ihre Entitäten. Ich spüre deinen Schmerz, ich benutze ein Repository für jede Entität, bis ich das generische Repository-Muster entdeckt habe. – JBeckton