鉴于以下 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();
一个通用的扩展方法应该为我完成这个简单的任务,只是看起来很奇怪(如果)这在框架中不存在。