Entity Model - Как вставить / обновить данные, которые включают навигационные свойства - PullRequest
0 голосов
/ 25 июля 2011

Я использую Entity Framework, WebForms, .Net Framework 3.5. Я хочу обновить запись в базе данных, используя модель объекта, которая также включает обновление внешнего ключа, который стал навигационным свойством в Entity.

Какмогу ли я сделать это?Я видел способ, который включает в себя другой запрос, как

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

Как я могу сделать это, не переходя в БД?

1 Ответ

1 голос
/ 25 июля 2011

Попробуйте (это работает с EF 4, так что, надеюсь, это будет работать и с EF 1):

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();
...