有3个数据库表(电影,评论,用户)
评论表包括(MemeberID,MovieID,评论文本,评分,评论日期) (评论中的MemeberID和MovieID是成员表和电影表的FK) 电影可以有很多评论,我正在尝试为电影添加评论
即使我有电影课和会员班,我也有问题,为了插入评论,我需要将它引用到电影和用户,链接它们,我不知道该怎么做
此代码出错:
" The relationship between the two objects cannot be defined because they are attached to different ObjectContext objects. "
这是我的代码......
public bool InsertNewReview(Movie _TheMovie, Member _TheMember, string _Text, byte _Rate, DateTime _ReviewDate)
{
Review ReviewToInsert = new Review()
{
MovieID = _TheMovie.MovieID,
MemberID = _TheMember.MemberID,
Movie = _TheMovie,
Member = _TheMember,
Rate = _Rate,
ReviewDate = _ReviewDate,
ReviewText = _Text
};
videoLib.Reviews.AddObject(ReviewToInsert);
videoLib.SaveChanges();
return true;
}
...
要向Review类添加更多数据
图片:here
...
和表:(“所有列”不是数据库表中的字段)
图片:here
答案 0 :(得分:0)
Review ReviewToInsert = videoLib.Reviews.CreateObject();
ReviewToInsert.MovieID = _TheMovie.MovieID
...
...
videoLib.Reviews.AddObject(ReviewToInsert);
videoLib.SaveChanges();
答案 1 :(得分:0)
我有一个解决方案,我只需要定义MovieID,MemberID,而不是使用他们的对象
并使用try& catch,检测同一行中是否有相同的MovieID(fk)和MemberID(fk)(因为评论在数据库中没有自己的id)
public bool InsertNewReview(string _MovieID, int _MemberID, string _Text, byte _Rate, DateTime _ReviewDate)
{
try
{
Review ReviewToInsert = new Review()
{
Rate = _Rate,
ReviewDate = _ReviewDate,
ReviewText = _Text,
MovieID = _MovieID,
MemberID = _MemberID
};
videoLib.Reviews.AddObject(ReviewToInsert);
videoLib.SaveChanges();
return true;
}
catch
{
return false;
}
}