在我的代碼,如果我從的EntityFramework存儲庫中獲得對象(例如用戶對象):獲取一直是相同的值
User GetUser(string name)
{
return user = _repo.Get<User>(user=>user.name=name);
}
void Main()
{
var user0 = GetUser("foo");//user.pass==245 in Database
user0.pass=345; //Change user.pass in user0 variable
var user1=GetUser("foo");//user.pass==345 in Database !!!!!
}
爲什麼在main方法的線-3時,我想再次從數據庫獲取用戶,user1.pass == 345
但是在數據庫中是真實的245
???
你的回購中有保存方法嗎? –
@Pedro是的,我有保存方法! –
因爲你已經物化了'User'和對象'user1'與'user0'相同。檢查'user0 == user1'的結果。 –