我想知道是否有一种使用Entities Framework 4进行批量删除或删除多行的好方法.我无法找到一个DeleteAll命令.唯一可用的是DeleteObject(),它只占用一个实体,我想在实体列表上执行删除.有没有比通过列表循环更好的方法?我确实看到一篇文章使用了ExecuteStoreQuery并创建了一些可以执行删除的sql.有没有比执行这两个选项更好的方法请告知执行此操作的最佳方法是什么.
我遇到动态Linq库的问题.我收到以下错误"ParserException未被用户代码处理")"或','".我有一个Dicitionary,我想基于这个字典创建一个查询.所以我遍历我的字典并附加到字符串构建器"PersonId =(GUID FROM DICTIONARY).我认为问题是因为某些原因我附加到PersonId我似乎无法将我的字符串guid转换为Guid所以动态库不会崩溃.
我试过这个把我的字符串guid转换为guid,但没有运气.
query.Append("(PersonId = Guid(" + person.Key + ")");
query.Append("(PersonId = " + person.Key + ")");
Run Code Online (Sandbox Code Playgroud)
我正在使用VS 2010 RTM和RIA服务以及实体框架4.
//This is the loop I use
foreach (KeyValuePair<Guid, PersonDetails> person in personsDetails)
{
if ((person.Value as PersonDetails).IsExchangeChecked)
{
query.Append("(PersonId = Guid.Parse(" + person.Key + ")");
}
}
//Domain service call
var query = this.ObjectContext.Persons.Where(DynamicExpression.ParseLambda<Person, bool>(persons));
Run Code Online (Sandbox Code Playgroud)
请帮忙,如果您知道更好的方法,我愿意接受建议.