私はEntityFrameworkの初心者でComment
あり、関連するFKオブジェクトを持つオブジェクトUser
をデータベースに挿入する必要があります。
public Class Comment
{
public int CommentID { get; set; }
public string CommentContent { get; set; }
public virtual User User { get; set; }
public virtual DateTime CommentCreationTime { get; set; }
}
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public string UserPassword { get; set; }
public string UserImageUrl{get; set;}
public DateTime UserCreationDate { get; set; }
public virtual List<Comment> Comments { get; set; }
}
public void AddComment()
{
User user = new User() { UserID = 1 };
Comment comment = new Comment() { CommentContent = "This is a comment", CommentCreationTime = DateTime.Now, User = user };
var ctx = new WallContext();
comments = new CommentsRepository(ctx);
comments.AddComment(comment);
ctx.SaveChanges();
}
User
理想的には、T-SQLを使用して、オブジェクトのPRIMARY KEYがわかっている場合は、オブジェクトを挿入Comment
し、挿入ステートメントで「ユーザー」のPKを指定できます。
Entity Frameworkで同じことをしようとしましたが、機能しないようです。User
新しい「コメント」を挿入するためだけに、 最初にデータベースからオブジェクトをフェッチする必要があるのはやり過ぎでしょう。
どうすればこれを達成できますか?