我对EF很陌生,我只使用EF 6,当我使用它访问我已经设计的数据库中的数据时,我看不到任何允许我操作数据的方法。为了临时解决这个问题,我创建了一些存储过程,用于添加、删除和更新数据。我想知道我所做的是否是操纵EF数据的正确方法。如果这不是正确的方法,那么我如何使用EF6内置的特性来做到这一点。MSDN说有一个add对象,但是找不到它。
发布于 2014-06-16 16:12:02
API中发生了一些变化。EF6不再使用ObjectContext,而是使用DbContext。这可以从数据库模型生成,也可以使用Model first方法创建。
旧语法:
objectContext.AddToUsers(user); 现在是:
dbContext.Users.Add(user); 以下是一些基本的样本:
插入:
using(var dbContext = new MyDbContext())
{
var user = new User { ID=1, Name="Test" };
dbContext.Users.Add(user); // Add user
dbContext.SaveChanges(); // Save changes to DB
}最新情况:
using(var dbContext = new MyDbContext())
{
var user = dbContext.Users.Find(1);// find by ID = 1
user.Name = "New Name"; // Change name
dbContext.SaveChanges(); // Save changes to DB
}删除:
using(var dbContext = new MyDbContext())
{
var user = dbContext.Users.Find(1);// find by ID = 1
dbContext.Users.Remove(user); // delete user
dbContext.SaveChanges(); // Save changes to DB
}所以,不需要存储过程。简单的CRUD绝对不需要。
https://stackoverflow.com/questions/24247746
复制相似问题