Я читаю книгу - ASP.Net 3.5 Разработка корпоративных приложений с помощью Visual Studio 2008, и когда он говорит об обновлении записи в базе данных с использованием Linq-to-SQL, он использует этот код:
MyUserAccount ua = new MyUserAccount
{
... Update fields
};
ua.UserAccountID = Convert.ToInt32(session["UserAccountID"]);
ua.Version = Convert.ToInt32(session["Version"]);
MyDataContext db = new MyDataContext();
db.MyUserAccounts.Attach(ua,true);
db.SubmitChanges();
По сравнению с тем, к чему я привык, где я просто сохраняю AccountID в переменной сеанса
а затем получите запись из базы данных, внесите мои изменения и отправьте изменения.
BtnUpdate
int UserAccountID = Convert.ToInt32(Request["UserAccountID"]);
//Get User fron Context
MyDataContext db = new MyDataContext();
MyUserAccount ua = db.MyUserAccounts.Single(
x => x.UserAccountID == UserAccountID);
//Make changes
ua.Blah = "";
db.SubmitChanges();
Итак, мой вопрос: каков предпочтительный способ сделать это? Не видя этого в прошлом, я не уверен, какой это предпочтительный или лучший способ. Любая помощь приветствуется.
Wade
Примечание:
Мой первоначальный вопрос, кто-то изменил мой заголовок, был лучшим способом обновления записи в Linq-to-SQL. Поэтому я изменил код, чтобы использовать переменные сеанса и заголовок обратно на оригинал. Пожалуйста, прочитайте весь вопрос, так как я ищу только лучший способ обновить мою запись в базе данных, используя Linq-to-SQL.