2011-07-25 12 views
0

私はEntity Framework、WebForms、.NET Framework 3.5を使用しています エンティティモデルを使用してデータベース内のレコードを更新するとします。エンティティのナビゲーションプロパティになります。エンティティモデル - ナビゲーションプロパティを含むデータの挿入/更新方法

どうすればいいですか?

Product p = new Product{ 
    ID = 5, 
    Name = "Bovril", 
    Category = ctx.Categories.First(c => c.ID == 5) 
}; 
ctx.AddToProducts(p); 
ctx.SaveChanges(); 

私はDBに行くことなくそれを行うことができますか?

+0

あなたがDBへ行くことなく**によって何を意味しています**? –

+0

@Miroprocessor、上記の構文では、 "ctx.Categories.First(c => c.ID == 5)"はDBに移動し、カテゴリーを持っています。ここでは、すでに持っているcategoryID 5を使用したいと思いますレコードを保存する。 – Riz

答えて

1

は(これがうまくいけば、それは同様にEF 1で動作しますEF 4で動作)、これを試してみてください:

Category c = new Category 
{ 
    ID = 5 
}; 
ctx.AttachTo("Categories", c); 

Product p = new Product 
{ 
    ID = 5, 
    Name = "Bovril" 
}; 
ctx.AddToProducts(p); 

p.Category = c; 
ctx.SaveChanges(); 
+0

この行の「カテゴリ」とは何ですか?ctx.AttachTo( "Categories"、c); ? 「EntitySetの名前「Entities.Categories」が見つかりませんでした」という例外がここにあります。 \t System.Exception {System.InvalidOperationException} – Riz

+1

カテゴリのエンティティセットの名前です。 'Category'エンティティのプロパティでデザイナの名前を見つける必要があります。 –

関連する問題