gpt4 book ai didi

c# - 在连接的场景中添加一个新项目, Entity Framework

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:40 25 4
gpt4 key购买 nike

是否可以在 Entity Framework 的连接场景中添加实体。我可以更新数据,但是对于添加和删除,它在连接模式下不起作用。

  md.Configuration.AutoDetectChangesEnabled = true;  
var studentList = md.MyStudent.ToList<Student>();
studentList.Add(new Student { Stdname = "nm" });
md.SaveChanges();

不会添加新项目(“nm”)!!!

已编辑

为什么这行得通,更新操作和添加行不通,有什么区别?

数据库会更新

 Student studentToUpdate = studentList.Where(s => s.Stdname == "stdname1").FirstOrDefault<Student>();
studentToUpdate.Stdname = "Edited stdname3";

最佳答案

您的代码不起作用,因为您的 ToList<Student>()返回与您的上下文无关的新列表。这类似于以下代码:

IList<Student> studentList = new List<Student>();
studentList.Add(new Student { Stdname = "nm" });

来自 Entity Framework 的上下文不关心您的程序中某处是否有列表并向其添加对象。

编辑列表中的现有对象是有效的,因为它们是从上下文中加载的,因此它们在上下文中“注册”了。

如果你想添加一个新对象,你必须将它添加到 md.MyStudent所以上下文认为应该添加一个新对象。

关于c# - 在连接的场景中添加一个新项目, Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46115003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com