powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Entity Framework + не сохраняются записи
5 сообщений из 5, страница 1 из 1
Entity Framework + не сохраняются записи
    #37193395
AneP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется процедура (Winприложение) изменения строки в таблице

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 public static Boolean Edit(int Id, Subdivision aSubdivision)
        {
            using (ServerProjectsEntities dbManager = new ServerProjectsEntities())
            {

                Subdivision subdivision = dbManager.Subdivisions.Single(a => a.SubdivisionID == Id);
                try
                {
                    subdivision = aSubdivision;
                    dbManager.SaveChanges();
                    return true;
                }
                catch
                {
                    return false;
                    throw;
                }

            }
        }
Всё отрабатывает без ошибок,и вроде бы данные изменились, но как только я перезапускаю приложение то данная запись опять преобразуется в первоначальное значение. В Чём может быть проблема.


Заранее всем благодарен.
...
Рейтинг: 0 / 0
Entity Framework + не сохраняются записи
    #37193401
wcf.net.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, собака порылась где-то тут:

Код: plaintext
subdivision = aSubdivision;

Вы что меняете? Ссылку в памяти! А менять надо как-то так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public bool TryEdit(int Id, Subdivision aSubdivision)
        {
            try
            {
                using (ServerProjectsEntities dbManager = new ServerProjectsEntities())
                {
                    dbManager.Subdivisions[Id] = aSubdivision;
                    dbManager.SaveChanges();
                    return true;
                }
            }
            catch
            {
                return false;
                // throw; // этот throw бесполезен, так как до него выполнение никогда не доберется :)))
            }
        }
...
Рейтинг: 0 / 0
Entity Framework + не сохраняются записи
    #37193545
AneP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если переделать данный код то получается вот такая вот ошибка

Cannot apply indexing with [] to an expression of type 'System.Data.Objects.ObjectSet<SNABAccounting.Subdivision>'
...
Рейтинг: 0 / 0
Entity Framework + не сохраняются записи
    #37193944
wcf.net.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnePЕсли переделать данный код то получается вот такая вот ошибка

Cannot apply indexing with [] to an expression of type 'System.Data.Objects.ObjectSet<SNABAccounting.Subdivision>'

А, это EF! Тогда как-то так:

Код: plaintext
1.
dbManager.ApplyCurrentValues("Subdivisions", entity);
dbManager.SaveChanges();
...
Рейтинг: 0 / 0
Entity Framework + не сохраняются записи
    #37193947
wcf.net.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wcf.net.ruAnePЕсли переделать данный код то получается вот такая вот ошибка

Cannot apply indexing with [] to an expression of type 'System.Data.Objects.ObjectSet<SNABAccounting.Subdivision>'

А, это EF! Тогда как-то так:

[src c#][/src]

public bool TryEdit(int Id, Subdivision aSubdivision)
{
try
{
using (ServerProjectsEntities dbManager = new ServerProjectsEntities())
{
dbManager.ApplyCurrentValues("Subdivisions", aSubdivision);
dbManager.SaveChanges();
return true;
}
}
catch
{
return false;
}
}
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Entity Framework + не сохраняются записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]