Domanda

E 'la prima volta che uso Subsonic.

Let dire che ho le classi:

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; }
}

Un dipendente è correlato a un negozio con la data viene assunto. Ciò significa che nel database avrò un tavolo centrale con StoreID, EmployeeId, StartDate, EndDate

UPDATE

Un dipendente può lavorare per lo StoreA dal 2009-01-01 al 2009-04-04 e lavorare per StoreB dal 2009-04-05 al ... E non voglio che la mia tabella di dati ripetere tutte le informazioni del mio dipendente ogni volta che un dipendente cambia il negozio che lavora per. In questo esempio dipendente avere solo un nome, ma diciamo un dipendente ha 10 immobili (indirizzo, età, sesso ...)

Come avrei potuto ottenere questo?

È stato utile?

Soluzione

Sulla base il commento e la questione aggiornato sembra che si desidera qualcosa di simile al seguente:

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; }
}

Altri suggerimenti

Ci troveremo bisogno di una relazione molti-a-molti, che entrerà a far parte di un record dei dipendenti ad un Record Store, con un carico utile di inizio e fine date.

Gli oggetti sarà simile a questo:

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; }
}

e non da mano libera quindi ci potrebbe essere un paio di errori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top