Entity framework core 实体框架核心ExecuteSqlInterpolated提供Microsoft.Data.SqlClient.SqlException

Entity framework core 实体框架核心ExecuteSqlInterpolated提供Microsoft.Data.SqlClient.SqlException,entity-framework-core,sqlexception,Entity Framework Core,Sqlexception,我在一堆表上循环,必须删除每个表中具有特定列名的记录。我能够获得该列表,但以下行给出了异常:Microsoft.Data.SqlClient.SqlException(0x80131904):必须声明表变量“@p0”。 属性名称类似于Person.Address,其中Person是放置表的架构名称 Entity Framework Core的版本是3.1.8我进一步挖掘了异常详细信息和源代码 我用以下语句解决了这个问题: contextCtx.Database.ExecuteSqlRaw($&q

我在一堆表上循环,必须删除每个表中具有特定列名的记录。我能够获得该列表,但以下行给出了异常:
Microsoft.Data.SqlClient.SqlException(0x80131904):必须声明表变量“@p0”。

属性名称类似于
Person.Address
,其中Person是放置表的架构名称


Entity Framework Core的版本是3.1.8

我进一步挖掘了异常详细信息和源代码

我用以下语句解决了这个问题:

contextCtx.Database.ExecuteSqlRaw($"DELETE FROM {dsw.Name} WHERE DeleteSw = 1");

我希望它将来能帮助其他人。

您必须使用字符串连接,EF为表创建了一个SqlParametername@ErikEJ在这种情况下,它将如何重写?
contextCtx.Database.ExecuteSqlRaw($"DELETE FROM {dsw.Name} WHERE DeleteSw = 1");