【发布时间】:2018-04-06 01:15:18
【问题描述】:
我想将此 SQL 查询转换为 C# 代码:
UPDATE Layouts
SET LayoutDetails.modify('delete /ColumnLayout/LayoutColumns/Column[@PropertyId = sql:variable("@propId")]')
WHERE LayoutId = 236
此查询删除 SQL Server 表中 XML 列中的一个节点。我想使用 LINQ 在 C# 中执行类似的操作。
【问题讨论】:
-
到目前为止你尝试过什么?贴一些代码。
-
您使用的是哪个 ORM?我认为
UPDATE语句是基于ORM的,LINQ to SQL/LINQ to Entities主要用于SELECT语句。 -
@IpsitGaur :通常用于更新任何记录,将获取带有 layoutid 的相关记录,修改相关数据字段并保存更改。但是在这里我必须使用 XML 列所以完全不知道。如果没有任何效果,我必须使用 ADO.net
-
@TetsuyaYamamoto EntityFramework
-
@Prasu 只需先执行一个简单的 SELECT 查询,例如(
db.Layouts.Where(x => x.ColumnName == value),将所有更新的值分配给结果集并使用db.SaveChanges()方法(db是您的DbSet名称)。
标签: c# sql-server linq xml-column