在 Entity Framework 5 中,ExecuteStoreCommand 方法在哪里?

36

我正在使用VS2012中的EF5,并尝试使用ExecuteStoreCommand删除某个表的所有数据,类似于以下代码:

ctx.ExecuteStoreCommand("TRUNCATE TABLE [" + tableName + "]");

但问题是EF告诉我,找不到ExecuteStoreCommand方法。我不明白为什么?

你能告诉我为什么吗?或者给我一个高效的解决方案来移除表格中的所有数据。


你确定吗?http://msdn.microsoft.com/zh-cn/library/system.data.objects.objectcontext.executestorecommand.aspx - tomfanning
3
@tomfanning,这要取决于他是使用 ObjectContext 还是 DbContext。 - Justin Harvey
正确。除非你进行强制转换,否则EF5/6默认为DbContext(POCO)。 - DFTR
1个回答

93

试试这个:

ctx.Database.ExecuteSqlCommand

1
这个答案应该被标记为答案...这是一个完美的解决方案。给你点赞 @Justin Harvey - Kashif Hanif
2
我正在使用: ctx.Database.ExecuteSqlCommand("SET IDENTITY_INSERT profile ON") 但它不起作用... 无法插入自定义主键。如何解决? - Er Mayank

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接