親子クラスの設計方法。
注: ここでの Parent は基本クラスではなく、1 対多の関係を示しています。
アプローチ「A」
public class Company
{
public int CompanyID;
...
public IList<Branch> Branches;
}
public class Branch
{
}
アプローチ「B」
public class Company
{
public int CompanyID;
...
}
public class Branch
{
public int CompanyID; //which represents company object
}
分岐画面のUIデザイン確定:=
閲覧画面のツリー表示:-
Company A
Branch 1
Branch 2
Company B
Branch 3
Branch 4
Branch 5
画面の追加/編集 (2 つの個別の画面):-
Company - Company Drop-down
other attributes of Branch
1) ビュー画面が表示された場合、アプローチ "A" は正常に見え、追加/編集画面が表示された場合、アプローチ "B" は正常に見えます。
2)アプローチ「A」を使用しているときに、ブランチデータを返す必要がある場合は、ブランチタイプではなく会社タイプを実際に返す必要があります。
Company GetBranch(int BranchID)
3) 当社の DB 設計は、Branch Table に CompanyID が格納されるアプローチ "B" に基づいています。
誰かが良いアプローチを提案できますか?