实体框架导航属性与数据库中的对象

时间:2011-05-29 11:02:10

标签: entity-framework

问题有作者。 添加新问题时,我使用getCurrentUser();

从数据库中获取作者
Question q=new Question();
q.Author=getCurrentUser();
context.Questions.Add(q);

此生成只有在属性的当前值为null时才能设置EntityKey属性。因为作者已经有Id的值。我该如何指定作者已经在数据库中?

1 个答案:

答案 0 :(得分:0)

如果希望使用这个简单的代码,则必须使用相同的上下文实例来添加问题并加载用户。如果要使用两个上下文实例,则必须修改代码:

Question q=new Question();
User u = getCurrentUser();
context.Users.Attach(u);
q.Author = u;
context.Questions.Add(q);

在某些情况下,还可能需要在getCurrentUser方法中将用户与上下文分离。