2017-07-14 80 views
0
private void btnLoadPriceList_Click(object sender, EventArgs e) 
{ 

     using (PriceUpdaterSQLEntities1 context = new PriceUpdaterSQLEntities1()) 
     { 
      context.PRICE_LIST.RemoveRange(context.PRICE_LIST.Where(x => x.PRICE_ID != null)); 
      context.SaveChanges(); 
     } 
} 

我是新来的实体框架,想知道为什么我的删除操作没有被更新到我的SQL在localDB表?实体6数据库更改没有被更新到Db表

我需要删除PRICE_LIST表中的每个记录,然后用新记录重新填充记录。 PRICE_ID是PK,不能为空,这就是为什么我查询不为null。代码运行时没有错误,但表中没有任何内容实际上被删除。我做了大量的阅读,不明白我在这里做错了什么。我已经重建了实体模型,所以我确定它不是连接字符串。

+0

你确定'RemoveRange()'返回任何项目吗?你有没有调试过,看看是否有什么符合你的查询? – maccettura

+0

请检查此https://stackoverflow.com/questions/2519866/how-do-i-delete-multiple-rows-in-entity-framework-without-foreach –

+0

我已经在发布我的问题之前阅读问题2519866。那是我找到RemoveRange()的地方。我将代码更改为(x => x.PRICE_ID ==“001”),以测试是否可以删除一条记录,但它没有删除price_id 001.因此,看起来RemoveRange()不会拉动任何东西。 – Ian

回答

0

我刚刚用旧的SqlConnection和SqlCommand对象来使事情工作。问题解决了。