【发布时间】:2015-12-19 20:10:09
【问题描述】:
我需要从我的数据库表中删除所有数据。所以我使用DataContext.ExecuteCommand。
db.ExecuteCommand("DELETE From Products");
此方法会为每个表向数据库发出新请求。我想在一个查询中清除表中的数据。但到目前为止,我所有的尝试都没有成功。
是否可以使用DataContext.ExecuteCommand从多个表中删除数据(多个SQL查询)?
try
{
using (var context = new DataContext())
{
context.DeleteAll();
}
}
catch (Exception exception)
{
LogHelper.Log(exception);
}
private static void DeleteAll(this DataContext context)
{
var ctx = ((IObjectContextAdapter)context).ObjectContext;
ctx.ExecuteStoreCommand("DELETE FROM [RegionProducts]; DELETE FROM [ProductTypes]; DELETE FROM [Measurements]; DELETE FROM [Sizes]; " +
"DELETE FROM [Regions]; DELETE FROM [Types]; DELETE FROM [Categories]; DELETE FROM [Images] where Product_Id is not null; DELETE FROM [Products]; " +
"DELETE FROM [Brands]; DELETE FROM [Images];");
}
【问题讨论】:
标签: sql entity-framework datacontext sql-server-ce-4