私はこの正確な質問がありますが、私は解決策を考え出しました。私はあなたに警告します、それは本当に悪いものです。 - VIDEOID、int型、PK - 何とか
コメント - CommentId、int型、PK - ユーザーID、INT(コメントをしたユーザー) - CommentText
ビデオ :私のような状況で、私は3つのテーブルを持っていますセットアップにエンティティフレームワークのすべてのCommentId、int型、PK
まず、関係を正しくBO - 、文字列
VideoComments - VIDEOID、int型、PK (私の場合はVideoComments)の主列でなければなりません。
つまり、ここに新しいコメントを追加する方法があります。
public VideoDTO AddCommentToVideo(VideoDTO pVideo, CommentDTO pComment)
{
Video video = context.Videos.Where(v => v.VideoId ==
pVideo.VideoId).FirstOrDefault();
User user = context.Users.Where(u => u.UserId ==
pComment.User.UserId).FirstOrDefault();
Comment comment = new Comment();
comment.CommentText = pComment.CommentText;
comment.User = user;
comment.Videos.Add(video);
context.AddToComments(comment);
context.SaveChanges();
return pVideo;
}
これは非常に悪いです...ストリームを悪くするのが好きです。私は2つのクエリーを実行して、Entity Frameworkによって要求される完全なオブジェクトを取得するので、新しいコメントを作成することができます。私はこれを行うより良い方法が欲しいですが、私はそれを知らない。多分これが助けになるかもしれない。
解決策が手助けをする前に、loccvgsテーブルでLOCIDとCVGIDの主キーを作成する必要があります。私はこれがEFに必要なものだと思う。 – jason