LINQ-to-SQL および SQL Server 2008 R2 で ASP.NET MVC 4 (.NET Framework 4.5) を使用しています。
この関数は、デバッグ モードで実行すると常に true を返しますが、デバッグなしで実行すると false を返します。私はかつてこのエラーを受け取りました: http://i.imgur.com/HydhT.png
これをグーグルで調べてみましたが、同様の問題がいくつか発生しましたが、すべてチェックしました:
- UserProfiles テーブルには主キーがあります
- データコンテキストはデータベースと同期しています
- SubmitChanges() の引数としてConflictMode.ContinueOnConflictを入れてみました
- 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;
}