c# - 在 Entity Framework 中合并

标签 c# linq entity-framework linq-to-entities sql-merge

有没有办法调用T-Sql's MERGE来自 .NET Entity Framework 4 的命令?

最佳答案

不,没有这样的内置功能 - 您必须构建自己的功能。例如,非常常见的方法如下:

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
}

这是使用在数据库中自动生成 Id (IDENTITY) 的分离实体的示例。新实体的默认 ID 始终为 0,因为实际值将在保存更改期间分配。

关于c# - 在 Entity Framework 中合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5842125/

相关文章:

c# - 当我将 MySqlConnection 放在其他类中并从其他表单调用它时,如何创建 MySqlCommand

c# - Microsoft Message Queue - 优先级标志或单独的队列?

c# - 合并列表并从两者中选择属性

c# - 获取第二个不同类型列表中缺少的元素

c# - Entity Framework 中的双重自引用

c# - 用于面试的简单 VB 或 C# 问题?

c# - LINQ 过滤器列表并排除 MAX 值

.NET:从 LINQ to SQL 到 Entity Framework 的转换

asp.net-mvc - 为什么在 MVC 中将实体作为模型传递不是一个好主意?

c# - Entity Framework 在不同的工作站上生成不同的查询