記録をコピーし、現在の関係をそのまま維持することに困難を感じています。私がしなければならないことができるかどうかさえわかりません。
私のデータベースは非常に大きいですが、例を 3 つのテーブルに制限します。以下は、これらのテーブルを表すクラスです。
public class FiscalYear
{
public FiscalYear()
{
this.Divisions = new HashSet<Division>();
}
public int FiscalYearId { get; set; };
...other members....
public virtual ICollection<Division> Divisions { get; set; }
...more Navigation properties...
}
public class Division
{
public Division()
{
this.Majors = new HashSet<Major>();
}
public int DivisionId { get; set; };
public int FiscalYearId { get; set; }
...other members....
public virtual ICollection<Major> Majors { get; set; }
public virtual FiscalYear FiscalYear { get; set; }
...more Navigation properties...
}
public class Major
{
public Major()
{
this.Courses = new HashSet<Course>();
}
public int MajorId { get; set; };
public int FiscalYearId { get; set; }
...other members....
public virtual ICollection<Course> Courses { get; set; }
public virtual FiscalYear FiscalYear { get; set; }
...more Navigation properties...
}
データベースのテーブルのいくつかは、会計年度に関連付けられています。私がやろうとしているのは、ある会計年度から次の会計年度にレコードをコピーすることです。たとえば、2012 年の会計年度が定義されていて、2012 年に IT などの部門が定義されている場合、2013 などの新しい会計年度を作成し、2012 年から 2013 年までのすべての関係をコピーできるようにしたいと考えています。 . しかし、問題は階層の下位レベルにあります。各部門には多くの専攻がありますが、それらの専攻は年度にも関連付けられています。そのため、2013 会計年度のメジャーの新しいレコードも作成し、これらの新しいレコードを新しい 2013 ディビジョンに関連付ける必要がありますが、2012 ディビジョンと同じ関係を持ちます。などなど。
このようなことはできますか?これが地獄のように混乱している場合は申し訳ありません-それはあまりにも私でした.