[英]Insert record using entity Framework (database first)
有3個數據庫表(電影,評論,用戶)
評論表包括(MemeberID,MovieID,評論文本,Rate,ReviewDate)(評論中的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類
圖片: 這里
..
和表:( “所有列”不是數據庫表中的字段)
圖片: 這里
你可以這樣嘗試嗎
Review ReviewToInsert = videoLib.Reviews.CreateObject();
ReviewToInsert.MovieID = _TheMovie.MovieID
...
...
videoLib.Reviews.AddObject(ReviewToInsert);
videoLib.SaveChanges();
我有一個解決方案,我只需要定義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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.