我表中的一些记录是重复的。尝试删除它们时,我收到此错误:
数据库操作预计会影响1行但实际上会影响2行。自实体加载以来,数据可能已被修改或删除。
被调用的查询是一个简单的" DELETE FROM [] WHERE []"。我尝试过使用Remove方法,以及设置EntityState.Deleted。在这两种情况下,它都希望删除调用只能命中一行,但它会命中两行。
如何删除适合我传递给它的参数的任意数量的行?
答案 0 :(得分:0)
显然EF不包含任何类型的批量删除,但有一个扩展名:http://entityframework-plus.net/
可以在NuGet上找到Z.EntityFramework.Plus
用它可以链接Where和Delete:
public Test(List<String> list) { mWorkList = new ArrayList<>(list); mOriginalList = new ArrayList<>(list); }
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ExtraBallController : MonoBehaviour { public Transform target; private int distance = 30; // Use this for initialization void Start () { } // Update is called once per frame void Update () { this.transform.position = new Vector3 (target.transform.position.x, target.transform.position.y, distance); } }
无论行数如何,这都会有效,即使它们是重复的。