Entity Framework 核心 ExecuteSqlInterpolated 给出 Microsoft.Data.SqlClient.SqlException
Entity Framework Core ExecuteSqlInterpolated gives Microsoft.Data.SqlClient.SqlException
我正在遍历一堆 table 并且必须删除其中每个具有特定列名的记录。我能够获得该列表,但以下行给了我例外:Microsoft.Data.SqlClient.SqlException (0x80131904): Must declare the table variable "@p0".
foreach (var dsw in deleteSwModels)
{
contextCtx.Database.ExecuteSqlInterpolated($"DELETE FROM {dsw.Name} WHERE DeleteSw = 1");
}
属性 名称看起来像 Person.Address
,其中 Person 是放置 table 的架构名称。
Entity Framework核心版本是3.1.8
我在 Github ef core.
的源代码中进一步挖掘异常细节
我使用以下语句解决了这个问题:
contextCtx.Database.ExecuteSqlRaw($"DELETE FROM {dsw.Name} WHERE DeleteSw = 1");
我希望它对以后的其他人有所帮助。
我正在遍历一堆 table 并且必须删除其中每个具有特定列名的记录。我能够获得该列表,但以下行给了我例外:Microsoft.Data.SqlClient.SqlException (0x80131904): Must declare the table variable "@p0".
foreach (var dsw in deleteSwModels)
{
contextCtx.Database.ExecuteSqlInterpolated($"DELETE FROM {dsw.Name} WHERE DeleteSw = 1");
}
属性 名称看起来像 Person.Address
,其中 Person 是放置 table 的架构名称。
Entity Framework核心版本是3.1.8
我在 Github ef core.
的源代码中进一步挖掘异常细节我使用以下语句解决了这个问题:
contextCtx.Database.ExecuteSqlRaw($"DELETE FROM {dsw.Name} WHERE DeleteSw = 1");
我希望它对以后的其他人有所帮助。