1

Subsonicを使うのは初めてです。

私がそれらのクラスを持っているとしましょう:

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

従業員は、雇用日を持つ店舗に関連しています。これは、データベースにStoreId、EmployeeId、StartDate、EndDateの中間テーブルがあることを意味します

アップデート

従業員は2009-01-01から2009-04-04までStoreAで作業し、2009-04-05から...までStoreBで作業できます。データテーブルに従業員のすべての情報が繰り返されることは望ましくありません。従業員が勤務先の店舗を変更するたびに。この例では、従業員には名前しかありませんが、従業員が10個のプロパティ(住所、年齢、性別など)を取得したとします。

どうすればそれを達成できますか?

4

2 に答える 2

1

あなたのコメントと更新された質問に基づくと、次のようなものが必要なようです。

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; }
}
于 2009-08-19T15:34:25.970 に答える
0

実際には、開始日と終了日のペイロードを使用して、従業員レコードをストアレコードに結合する多対多の関係が必要になります。

オブジェクトは次のようになります。

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

これをフリーハンドで行ったので、いくつかのエラーが発生する可能性があります。

于 2009-11-08T01:21:30.640 に答える