次の UPSERT のようなシーンがあるとします。
EntityType myEntity = null;
if(newItem)
{
myEntity = new EntityType();
}
else
{
myEntity = context.TableName.Where(item => item.PrimaryKey == key).Single();
}
if(newItem)//This check bugs me
{
context.TableName.Add(myEntity);//conditionally add the item to the context
}
context.SaveChanges();
アイテムをコンテキストに追加する必要があるかどうかを判断する必要があります。context.TableName.NewRow()
エンティティ フレームワークは、最後の条件チェックを保存するために何らかの種類のものを提供していますか? このようにして、代わりにこのようなことができます....
EntityType myEntity = null;
if(newItem)
{
myEntity = context.TableName.NewRow();
}
else
{
myEntity = context.TableName.Where(item => item.PrimaryKey == key).Single();
}
context.SaveChanges();
ジェネリック拡張メソッドがこの単純なタスクを実行する必要がありますが、これがフレームワークにまだ存在しない場合は奇妙に思えます。