Обновление One-To-Many Entity Framework 5 с кодом в первую очередь

У меня есть ОДИН объект, который я хочу обновить, не обновляя его Список МНОГИХ объектов. Я использую Code-First, но я не могу заставить его работать... Я использую Ninject, и все работает, кроме моего обновления...

//Сущности

public class A
{
public int AId { get; set; }
public string Name { get; set; }
}


public class B
{
public int BId { get; set; }
public string Name { get; set; }
public virtual List<A>ListOfAs { get; set; }
}

//Интерфейс

private EFDbContext context = new EFDbContext();

public IQueryable<B> Bs
        {
            get { return context.B; }
        }

        public void SaveBs(B b)
    {
        if (b.Id== 0)
        {
            context.B.Add(b);
            context.SaveChanges();
        }

        *//here i wanna call: 
        context.Entity(b).State = EntityState.Modified;
        BUT VS dont let me... I probably missing something out...*

        context.SaveChanges();

метод Save работает, когда я хочу просто добавить новый объект в свою базу данных. Но обновление ничего не изменит...

Я был бы признателен, если бы кто-нибудь мог сказать мне, что я упускаю ...

/Спасибо, Дж.


person JeppePepp    schedule 21.01.2013    source источник


Ответы (2)


Используйте следующие критерии, это работает для меня

public BuyerInformation Update(BuyerInformation objBuyerInformation)
    {
        context.BuyerInformation.Attach(objBuyerInformation);
        context.Entry(objBuyerInformation).State = EntityState.Modified;
        context.SaveChanges();

        return objBuyerInformation;
    }
person Md. Nazrul Islam    schedule 17.03.2013
comment
context.BuyerInformation.Attach(objBuyerInformation); на самом деле не нужен. Это немного странно, но работает без него. Я тоже удивился :) - person Snæbjørn; 08.08.2013
comment
Есть какие-нибудь объяснения по этому поводу. Пожалуйста, опишите. - person Md. Nazrul Islam; 15.08.2013
comment
Я не знаю почему. Просто работает без него. Это руководство также поддерживает меня: entityframeworktutorial.net/EntityFramework4.3/ - person Snæbjørn; 15.08.2013

person    schedule
comment
нет, это не работает... до сих пор нет обновления. Спасибо за быстрый ответ. - person JeppePepp; 21.01.2013
comment
Я возвращаю обновленный объект, но обновления не попадают в мою базу данных. Сущность не может сохранить изменения... - person JeppePepp; 21.01.2013
comment
нет. Он просто не обновляется... у меня есть временная переменная (на мой взгляд), которая записывает новое имя объекта, а x.Name обновляется до нового имени... Я не могу понять, почему я не могу использовать EntityState.Modified . - person JeppePepp; 21.01.2013