Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Entity Framework создание и изменение записи 
:(
    Опции темы
kelt
Дата 25.9.2014, 06:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.6.2005

Репутация: 1
Всего: 0



Всем привет, я пока новичек с Entity Framework, поэтому разные вопросы появляются то там то там

Опишу сначала модель:

Код

public class Parent {
    public int Id { get; set; }
    public DateTime date { get; set; }
    public string Name { get; set; }

    public IList<Child> Children { get; set; }
}

public class Child {
    public ind Id { get; set; }
    
    public int ProgramId { get; set; }
    public virtual Program Program { get; set; } /// просто модель справочник

    public double summa { get; set; }

    public int ParentId { get; set; }
    public virtual Parent Parent { get; set; }
}


так вот, контроллеры создавал с использованием Скайфол, так что все ActionResult и View создались автоматом,
сохранение нового объекта Parent с коллекцией объектов Child в базу, проходит нормально, а вот сохранение изменений валится

вот код контроллера:

Код

public ActionResult Create(Parent parent, String param)
{
            IList<Child> list = JSON.Deserialize<IList<Child>>(param);

            parent.Children = list;

            if (ModelState.IsValid)
            {
                db.Parents.Add(parent);
                db.SaveChanges();
            }

            return this.Direct();
}

public ActionResult Edit(Parent parent, String param)
{
            if (ModelState.IsValid)
            {
                IList<Child> _list = JSON.Deserialize<IList<Child>>(param);

                parent.Children = _list;

                db.Entry(parent).State = EntityState.Modified;
                db.SaveChanges();
            }
            return this.Direct();
}



так вот на строчке db.Entry(parent).State = EntityState.Modified; и вылетает

вот текст ошибки:

A referential integrity constraint violation occurred: The property values that define the referential constraints are not consistent between principal and dependent objects in the relationship.
--------------------
Timeo danaos et dona ferentes 
PM ICQ   Вверх
Ilya81
Дата 25.9.2014, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

Репутация: 1
Всего: 4



В переменной _list у объектов Child свойство ParentId правильно задано?
PM MAIL ICQ Skype   Вверх
kelt
Дата 25.9.2014, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.6.2005

Репутация: 1
Всего: 0



Да я задавал в цикле, но все равно получал ошибку
--------------------
Timeo danaos et dona ferentes 
PM ICQ   Вверх
Ilya81
Дата 26.9.2014, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

Репутация: 1
Всего: 4



Проверьте и другие свойства - Program, ProgramId (ну и свойство Parent, естественно) - где-то что-то оказывается заданным не так после десериализации.
PM MAIL ICQ Skype   Вверх
kelt
Дата 26.9.2014, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.6.2005

Репутация: 1
Всего: 0



А как должно быть задано, если например я добавляю еще строчки или удаляю какие нибуть?
--------------------
Timeo danaos et dona ferentes 
PM ICQ   Вверх
kelt
Дата 7.10.2014, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.6.2005

Репутация: 1
Всего: 0



Может у кого то есть мысли?
--------------------
Timeo danaos et dona ferentes 
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0977 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.