Frage

Es ist das erste Mal, dass ich Subsonic verwenden.

Lassen Sie uns sagen, ich habe diese Klassen:

public class Store
{
    public int Id { get; set; }
    public String Name { get; set; }
}

public class Employee
{
    public int Id { get; set; }
    public String Name { get; set; }
}

Ein Mitarbeiter wird zu einem Geschäft im Zusammenhang mit Datum wird eingestellt. Das bedeutet, dass ich in der Datenbank einen mittleren Tisch haben mit StoreID, EmployeeId, Startdate, EndDate

UPDATE

Ein Mitarbeiter kann von 2009-01-01 bis 2009-04-04 und Arbeit für StoreB von 2009-04-05 bis ... zum StoreA arbeiten, und ich will nicht, dass meine Datentabelle alle Informationen wiederholen meine Mitarbeiter Mitarbeiter jedes Mal den Laden er für die Arbeit ändern. In diesem Beispiel Mitarbeiter haben nur einen Namen, lässt aber sagen Mitarbeiter bekam 10 Immobilien (Adresse, Alter, Geschlecht ...)

Wie kann ich das erreichen?

War es hilfreich?

Lösung

Basierend auf Ihren Kommentar und die aktualisierte Frage es sieht aus wie Sie so etwas wie die folgenden wollen:

public class Store
{
    public int Id { get; set; }
    public String Name { get; set; }
}

public class StoreEmployee
{
    public int Id { get; set; }
    public Employee Employee { get; set; }
    public Store Store { get; set; }
    public DateTime HiredDate { get; set; }
}

public class Employee
{
    public int Id { get; set; }
    public String Name { get; set; }
}

Andere Tipps

Sie müssen tatsächlich eine viele-zu-viele-Beziehung, die einen Mitarbeiterdatensatz zu einem Shop Nehmen Sie beitreten werden, mit einer Nutzlast von Start- und Enddatum.

Die Objekte werden wie folgt aussehen:

public class Store
{
    public int Id { get; set; }
    public String Name { get; set; }
}

public class Employee
{
    public int Id { get; set; }
    public String Name { get; set; }
    public IList<EmploymentTerm> EmploymentTerms { get; set; }
}

public class EmploymentTerm
{
    public int Id { get; set; }
    public Store Store { get; set; }
    public Employee Employee { get; set; }
    public DateTime? StartDate { get; set; }
    public DateTime? EndDate { get; set; }
}

Hat dieser freihändig, so gibt es ein paar Fehler sein könnte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top