我是新来的实体框架。 一周之前,我遇到了当前上下文的常见问题,如果以非独特的方式使用,会引发异常,但这是固定的。奇怪的约束与实体框架异常
今天我有一个新问题,一个真正新的问题,因为我不知道为什么会发生这种情况,因为我确实认为我有相同的代码。
这里是我得到的错误:
Entities in 'Entities.WSUser_Detail' participate in
the 'FK_WSUser_Detail_WSCountry' relationship.
0 related 'WSCountry' were found. 1 'WSCountry' is expected.
为何如此奇怪这个错误是,在我的代码我从来没有引用任何WSUser_Detail对象。 有没有人想出这种错误? 我的代码是非常简单的:在调用SaveChanges()
绝对没有WSUser_Detail被称为在我的代码发生
newUser = (from user in GB.Context.WSUsers
where user.IDUser == nFound
select user).FirstOrDefault();
newUser.DoNotSend = false;
newUser.IP = Request.UserHostAddress;
newUser.LastDtActivity = DateTime.Now;
newUser.Language1 = GB.User.Language;
newUser.LastVersion = sVersion;
newUser.FlushNextTime = false;
GB.Context.SaveChanges();
的错误...所以我不知道他为什么要问这是一个参考一个永远不会被调用的对象(但存在于实体上下文中)。
有什么想法?
奇怪的是,即使代码似乎没有改变,我也没有这个问题。
我更新了Model.edmx以确保它不是原因,但它仍然不起作用,我已经检查了很多次,并且由于没有任何WSUser_Detail对象,所以错误不应该发生。
我也测试过创建一个空白页面,里面只有这个代码,并且它失败时有相同的约束异常: using System; using System.Collections.Generic;使用System.Linq的 ; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; 使用palarcdbModel; 公共部分类AS_Default2:System.Web.UI.Page { 保护无效的Page_Load(对象发件人,EventArgs的) { WSUser X =新WSUser(); x.Email =“[email protected]”; x.Language =“fr”; GB.Context.AddToWSUsers(x); GB.Context.SaveChanges(); } } 任何想法? – Micael 2009-12-26 06:20:57
更新你的问题,不要只是添加评论。 – 2009-12-26 06:23:17