无法更新实体框架中的多对多关系

时间:2019-05-04 13:24:36

标签: c# entity-framework many-to-many

我正在尝试在插入后更新多对多字段,但没有任何变化。

我在工厂表和网格表之间存在多对多关系。

网格就像

id名称:

1 A1

2 A2

map_plant_grid就像

plantid gridid:

280002 2

例如,我想将2更改为1,但数据库中没有任何变化。

public bool AddGrids(plant plant,string text)
        {
            // Old plant.grid = C7
            //text = C2 (in database)
            plant.grid.Clear();
            bool flag = true;
            foreach (var item in text.Split(','))
            {
                var grd = entities.grid.FirstOrDefault(x => x.name == item);
                if (grd != null)
                {
                    plant.grid.Add(grd);
                }
                else
                {
                    plant.grid.Clear();
                    flag = false;
                    break;
                }
            }
            entities.SaveChanges();
            return flag;
        }

调试时看起来不错。并更改网格列表,但不保存到数据库。当我重试时,我正在获得旧的网格值。所以我只能插入,但插入后不能更改。

可能是什么问题?

0 个答案:

没有答案