编辑:
我发现了为什么它没有看到变化的问题 我更改了与modelbinder绑定的对象。在这种情况下,它不会被上下文跟踪。
您好
我的应用程序中存在虚拟ICollections问题。 EF自动保存对实体的更改是否正确? * *
例如,如果我将一个项目添加到列表中(将玩家添加到团队中),它将在不使用存储库和dbset的情况下将其保存到数据库中吗?
我有类似的东西
public int RayonId { get; set; }
public String Rayonnaam { get; set; }
public virtual ICollection<Duivenmelker> Duivenmelkers { get; set; }
public Rayon()
{
Duivenmelkers = new List<Duivenmelker>();
}
public void AddMelker(Duivenmelker m)
{
Duivenmelkers.Add(m);
}
以上代码仅在本地更改List。但是不保存对数据库的更改。我可以调用存储库将新对象直接添加到数据库中,但这不是我认为的好方法。
导致这种情况无效的可能是错误的? * *
savechanges返回0(认为未进行任何更改)
我现在已添加
c.Vluchten.Attach(v);
c.Entry(v).State = EntityState.Added;
这显然有效,但我仍然不知道为什么EF没有明确地告诉他没有看到这些变化
答案 0 :(得分:1)
不要使用模型绑定器中的绑定对象,而是搜索附加到上下文的对象并在那里进行更改。 (EntityChangetracker不跟踪绑定对象)
答案 1 :(得分:0)
您需要致电SaveChanges()