1 methods insert save entity-framework-4
我正在从SubSonic迁移到EF4.在SubSonic模型中有一个名为Save的函数,如果模型的键是0,则完成插入,否则进行更新.
有没有办法像SubSonic一样制作通用的Save功能?对于使用扩展方法的例子?
是的,但你必须自己做.尝试这样的事情:
public interface IEntity
{
int Id { get; set; }
}
...
public void SaveOrUpdate<T>(T entity) where T : IEntity
{
using (var context = new MyContext())
{
if (entity.Id == 0)
{
context.AddObject(entity);
}
else
{
context.Attach(entity);
context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
}
context.SaveChanges();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5181 次 |
| 最近记录: |