我正在使用带有 LINQ-to-SQL 和 SQL Server 2008 R2 的 ASP.NET MVC 4 (.NET framework 4.5)
如果我通过调试模式运行这个函数,它总是返回 true,但是当我在没有调试的情况下运行它时,它返回 false。我曾经遇到过这个错误:http: //i.imgur.com/HydhT.png
我试着用谷歌搜索,出现了一些类似的问题,但我都检查了:
- UserProfiles 表有一个主键
- 数据上下文与数据库同步
- 我尝试将ConflictMode.ContinueOnConflict作为参数放入 SubmitChanges()
- 我试图将 LINQ 设计器中的 facebookID 放在上面:UpdateCheck=UpdateCheck.Never
没有任何效果。我以前从未经历过这样的事情。有谁有想法吗?
代码:
SQL Server 中的 facebookID 字段为 varchar(50) NULL,默认值为 NULL
public static bool changeFacebookIDByEmail(string email, string facebookID)
{
UserProfile profile = (from s in _dc.Users
join u in _dc.Memberships on s.UserId equals u.UserId
join i in _dc.UserProfiles on u.UserId equals i.userID
where u.Email == email
select i).SingleOrDefault();
profile.facebookID = facebookID;
ChangeSet cs = _dc.GetChangeSet();
_dc.SubmitChanges();
if (cs.Updates.Count <= 0)
return false;
else
return true;
}