我有一个对象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; };
}
答案 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