.net 是否可以使用实体框架来表示逻辑合并?

.net 是否可以使用实体框架来表示逻辑合并?,.net,entity-framework,upsert,.net,Entity Framework,Upsert,我得到了如下的MERGE语句: MERGE MyTable AS target USING (SELECT @Id, @Name, @Description, @Checksum) AS source(Id, Name, Description, Checksum) ON target.Id = source.Id WHEN MATCHED THEN UPDATE SET Name=@Name, Description=@

我得到了如下的MERGE语句:

MERGE 
    MyTable AS target
USING     
    (SELECT @Id, @Name, @Description, @Checksum)
    AS source(Id, Name, Description, Checksum)
ON 
    target.Id = source.Id
WHEN MATCHED THEN 
    UPDATE SET
    Name=@Name, 
    Description=@Description,
    IsChanged=(select case 
               when target.Checksum=@Checksum
                 then 0
                 else 1
               end),
    checksum=@checksum
WHEN NOT MATCHED THEN 
    INSERT (Id, Name, Description, IsChanged, Checksum)
    VALUES (@Id, @Name, @Description, 0, @Checksum);
这是一个非常简单的合并,只是我正在计算记录的校验和,我还想根据校验和是否已更改来标记记录上的
IsChanged
字段,这取决于目标表中的数据

这非常有效,但现在我正在考虑将其迁移到Entity Framework,并且我希望对.NET对象使用AddObject/Attach语法。是否可以这样做,但根据目标表数据捕获服务器端逻辑