所以我试图使用实体框架在数据库中插入记录,我尝试了这个简单的代码
TestEntities DB = new TestEntities();
List<Article> Articles = BD.Articles.ToList();
Articles.Add(new Article() { Id = 0, Category = "Category1", Title = "Title1"});
Articles.Add(new Article() { Id = 0, Category = "Category2", Title = "Title2" });
DB.SaveChanges();
记录已添加到文章列表但未添加到数据库中,有人可以向我解释这是如何工作的。
答案 0 :(得分:2)
Articles
只是DbSet
的内存副本。如果您希望能够将这些项目持久保存到数据库,则应将这些项目添加到DbSet
:
var art = new Article() { Id = 0, Category = "Category1", Title = "Title1"};
Articles.Add(art);
BD.Articles.Add(art);
List<Article>
未与DbSet
,DbContext
“或”以任何方式与数据库“连接”。
答案 1 :(得分:0)
using(TestEntities DB = new TestEntities())
{
BD.Articles.Add(new Article() { Id = 0, Category = "Category1", Title = "Title1"});
BD.Articles.Add(new Article() { Id = 0, Category = "Category2", Title = "Title2" });
DB.SaveChanges();
}
using
语句中包装实现IDisposable的类型。在这种情况下,它确保在代码存在时关闭数据库连接。