本文介绍了MERGE实体框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法从调用 ?.NET实体框架4


解决方案

没有有没有这样的内置功能 - 你必须建立你自己的。很常见的是像例如方式:

 公共无效SaveOrUpdate(myEntity所实体)
{
如果( entity.Id == 0)
{
context.MyEntities.AddObject(实体);
}
,否则
{
context.MyEntities.Attach(实体);
context.ObjectStateManager.ChangeObjectState(实体,EntityState.Modified);
}

//你可以在这里打电话的SaveChanges也可以经过多次修改
}


这是示例与数据库中已编号自动生成的( IDENTITY分离实体工作)。默认ID为新的实体始终为0,因为真正的价值将保存更改过程中进行分配。


Is there a way to call T-Sql's MERGE command from .NET Entity framework 4?

解决方案

No there no such built-in functionality - you must build your own. Very common is for example approach like:

public void SaveOrUpdate(MyEntity entity)
{
    if (entity.Id == 0)
    {
        context.MyEntities.AddObject(entity);
    }
    else
    {
        context.MyEntities.Attach(entity);
        context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
    }

    // You can call SaveChanges here or you can call it separately after multiple changes
}

This is example for working with detached entity which have Id auto generated in the database (IDENTITY). Default Id for new entity is always 0 because the real value will be assigned during saving changes.

这篇关于MERGE实体框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-21 16:46