相互に関連するオブジェクトの堅牢なセットがあり、それらをデータベースに保存するための最良の方法を見つけ出す必要がありますが、データの制約なども考慮する必要があります。
次のクラスがあるとします。
class Foo
{
public int Id { get; set; }
public int BarId { get; set; }
Bar _bar;
public Bar Bar
{
get { return _bar; }
set
{
if(_bar != value)
{
_bar = value;
BarId = value.Id;
}
}
}
}
class Bar
{
public int Id { get; set; }
}
次に、次のコードがあるとします。
var f = new Foo() { Bar = new Bar() };
SaveFoo(f);
オブジェクトを適切な順序でデータベースに保存するには、SaveFoo で何をすべきですか?
重要な注意: MyGeneration を使用して SQL データ構造からこれらすべてをコード生成しています。生成中にすべての制約にアクセスできます。