Entity Framework 4 Обновление дочерних коллекций - PullRequest
1 голос
/ 26 июля 2011

Я создал несколько базовых примеров кода ниже.Я использую структуру лица.У меня есть родительский объект, у которого есть коллекция Children.Я изначально создал трех детей.Когда я обновляю детей, я удаляю одного (Джон) и добавляю одного (Сара), остальные два (Мэри и Энн) остаются прежними.Есть ли способ сделать это легко с учетом базы данных позади?

public class test
{       

    public test()
    {            
        Parent father = new Parent();

        father.Children.Add(new Child() { FirstName = "Mary" });
        father.Children.Add(new Child() { FirstName = "Anne" });
        father.Children.Add(new Child() { FirstName = "John" });  

        SaveEntityFramework();
    }

    public void UpdateChildren
    {
        Parent father = EntityFramework.GetParentByID(1);

        // Remove John
        father.Children.Remove(new Child() { FirstName = "John" });

        // Add Sarah
        father.Children.Add(new Child() { FirstName = "Sarah" }); 

        // Update or do Nothing Mary & Anne

        SaveEntityFramework();
    }
}

public class Parent
{
    public string Name { get; set; }
    public List<Child> Children;
}

public class Child
{
    public string FirstName { get; set; }
}

1 Ответ

0 голосов
/ 26 июля 2011

Вы добавили отца в контекст EntityFramework?Вы просто создаете его, добавляете 3 детей и затем сохраняете!

public test()
{            
    Parent father = new Perent();
    EntityFramework.Parents.Add(father);

    // Add children

    SaveEntityFramework();
}

Кроме того, убедитесь, что вы получаете, когда вы делаете EntityFramework.GetParentByID(1); вы получаете Parent, который вы ищете.

Надеюсь, это поможет;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...