2010-10-18 3 views
1

Приложение WPF для рабочего стола WPF использует ADO.Net Entity Framework для подключения к базе данных SQL Server. В одном из окон у меня есть DataGrid со всеми данными из tbl_users, когда пользователь выбирает одну из строк (записей) и нажимает на Edit, приложение открывает новое окно с формой, которое включает в себя все данные, которые пользователь может редактировать/обновлять.Как обновить запись из базы данных через ADO.NET Entity Framework?

Мой вопрос заключается в том, как сохранить изменения (обновление/изменение) одного из значений таблицы в базе данных через ADO.NET Entity Framework?

Вот некоторые фрагменты кода, которые помогают понять ситуацию:

1 - Изменить конструктор окна

public object objToBeEdited; 

public WinWorkers_EditWorker(tbl_users userToBeEdited) 
{ 
    this.Title = Glidus.Properties.Resources.WinWorkers_EditWorker_WinName + Glidus.Properties.Resources.WinApp_WinName; 
} 

2 - метод Update, который не работает

tbl_users newUser = new tbl_users() //assume inputted values to new ibject 
{ 
    userName = this.WinWorkers_AddEditWorkers_Form_UserName.Text, 
    userPassword = this.WinWorkers_AddEditWorkers_Form_Password.Text, 
    userAccessLevel = this.WinWorkers_AddEditWorkers_Form_UserAccessLevel.Text 
}; 

//default minimal password length is 4 
if (App.IsInputValueMinLenOK(newUser.userPassword, 4)) 
{ 
    EntityKey key = App.glidusContext.CreateEntityKey("tbl_users", objToBeEdited); 

    if (App.glidusContext.TryGetObjectByKey(key, out objToBeEdited)) 
    { 
     App.glidusContext.ApplyCurrentValues<tbl_users>(key.EntitySetName, newUser); 
    } 

    try 
    { 
     App.glidusContext.SaveChanges(); 
    } 
    catch (Exception ex) 
    { 
     App.UnitedHandleException(ex); 
    } 

Пожалуйста, помогите мне, как реализовать обновление записи ADO.NET из базы данных.

Например, в моей таблице есть Джеймс Бонд 007, после редактирования страницы (нажав на отправить страницу) Я вижу Остин Пауэрс 008

ответ

2

Чтобы изменить или обновить вы можете использовать stub entities

Category category = new Category { ID = 5}; 
Context.AttachTo(“Categories”,category); 

Product product = new Product { 
    Name = “Bovril”, 
    Category = category 
}; 
Context.AddToProducts(product); 
Context.SaveChanges(); 
Смежные вопросы