1

I have the following problem. When debugging a project where I'm playing around a bit with Code First, the Items are somehow not added to the purchase. The purchases are added to the client.

This is how I seed the Data.

public class PublicDatabaseInitializer : DropCreateDatabaseIfModelChanges<PublicDataContext>
{
    protected override void Seed(PublicDataContext context)
    {
        context.Clients.Add(new Client()
        {
            // ...
            Purchases = new[]
                       {
                           new Purchase()
                           {
                               // ...
                               Items = new[]
                                        {
                                            new Item()
                                            {
                                                // ...
                                            },
                                            new Item()
                                            {
                                                // ...
                                            }
                                        }
                           },
                           new Purchase()
                           {
                               // ...
                           }
                       }
        });
        base.Seed(context);
    }
}

And this is how I declare the two ICollection properties:

public virtual ICollection<Purchase> Purchases { get; set; }
public virtual ICollection<Item> Items{ get; set; }

I would be thankful for any help.

4

2 に答える 2

1

明示的に呼び出す必要がありますDbContext.SaveChanges()

// add client stuff
context.SaveChanges();
于 2012-07-20T22:22:42.380 に答える
0

Slaumaのおかげで、私は解決策を見つけました。この投稿で述べたように:stackoverflow.com/a/11548688/270591。理由はまだ完全にはわかりませんが、解決策は次のとおりです。

user instance = true接続文字列から削除します。

これは、アクセス権やアクセス許可と関係があると思います。

于 2012-07-21T15:30:31.853 に答える