【发布时间】:2014-04-22 15:09:09
【问题描述】:
情况:我有3张桌子:
-
movies(pk:movietitle, movielength....等) -
rentals(pk:personid, fk:movietitle,...等) -
rentingpeople(pk+fk:personid, name, phone...等)
在我的表单上有一个与电影标题绑定的列表框,在列表框旁边有来自db.movies的文本框绑定
当有人点击rentthismovie 按钮时,我想从rentals 和rentingpeople 表中删除有关该电影的当前租借数据。
我写了第一部分,但由于外键问题而出错(我在上表中提到主键为pk,外键为fk)
var search = (from g in db.Rentals
where g.Movietitle == (string)listBox1.SelectedValue select g).First();
db.Rentals.DeleteObject(search);
db.SaveChanges();
我收到一个错误:
DELETE 语句与 REFERENCE 约束 \"FK_Rentingpeople_Rentals\" 冲突。冲突发生在数据库 \"C:\USERS\PC\DOCUMENTS\VISUAL STUDIO 2010\PROJECTS\FILMEK\FILMEK\BIN\DEBUG\DATABASE1.MDF\",表 \"dbo.Rentingpeople\",列 'personid' 中。 \r\n语句已终止。
由于主外键连接,我也必须从rentingpeople 表中删除数据,因为我从这个错误中读取,但我真的找不到有效的解决方案。
【问题讨论】:
-
除了
rentingpeople表之外,您是否还有其他表可以保存“会员”且可以租用的人员的信息?