Как обновить запись из базы данных через ADO.NET Entity Framework? - PullRequest
1 голос
/ 18 октября 2010

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

У меня вопрос, как сохранить изменения (обновить / отредактировать) одно из значений таблицы в базе данных через 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 - Обновление метода, которое не работает

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 .

1 Ответ

2 голосов
/ 18 октября 2010

Для редактирования или обновления вы можете использовать заглушки

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

Product product = new Product {
     Name = “Bovril”,
     Category = category
};
Context.AddToProducts(product);
Context.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...