EF:插入2个对象时如何获取对象的ID

时间:2015-12-01 08:13:31

标签: entity-framework

我有一个对象author = new Message()。它包含新消息和系统中的新作者。我想通过一个SaveChanges步骤将其保存在数据库中。由于事务的一致性,我不想先保存Auther而不是保存Message对象。

如何查找/设置数据库中不存在的AuthorId,并将这两个对象保存在一个SaveChanges步骤中?

类消息和作者(伪代码):

public class Message{
public int Id  { get; set; };

int AuthorId;
public virtual Author Author { get; set; }

public string Body{ get; set; };
}

public class Author{
public int Id { get; set; };
public String Name { get; set; };
}

1 个答案:

答案 0 :(得分:1)

首先,您必须更改模型:

var author = new Author();
var message = new Message();
message.Author = author;
// Insert message to your dbSet
// SaveChanges

然后这样做:

undefined method `current_user' for Teacher:0x00000004fcac48
@rating = @teacher.current_user.ratings.build