0
我是EF新手,我只使用過EF 6。當我使用它來訪問我已經設計的數據庫中的數據時,我沒有看到任何方法允許我操縱數據。爲了解決這個問題,我創建了一些存儲過程來添加,刪除和更新數據。 我想知道我所做的是在EF中操作數據的正確方法。如果它不是正確的方法,我該如何使用EF6的內置功能來做到這一點。 MSDN表示有一個添加對象,但找不到它。實體框架6:數據操作
我是EF新手,我只使用過EF 6。當我使用它來訪問我已經設計的數據庫中的數據時,我沒有看到任何方法允許我操縱數據。爲了解決這個問題,我創建了一些存儲過程來添加,刪除和更新數據。 我想知道我所做的是在EF中操作數據的正確方法。如果它不是正確的方法,我該如何使用EF6的內置功能來做到這一點。 MSDN表示有一個添加對象,但找不到它。實體框架6:數據操作
API已經發生了一些變化。 EF6不再使用ObjectContext,它使用DbContext。這可以從數據庫模型生成,或使用模型優先方法創建。
舊語法:
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
}
因此,無需對存儲過程.. definetly不需要簡單的CRUD。
雖然你當然可以使用存儲過程來執行CRUD操作並將EF與這些操作一起使用,但如果這是你走向的方向,那麼它會失敗使用OR/M執行數據訪問的目的。您能否提供一些關於您的數據庫本身以及您使用EF6的工作流程的更多信息(例如,Code First或Model First的SQL Server)。 –