C# で Linq を使用して、データベース内の既存の値を更新しようとしています。
変数をインスタンス化します。
var projectTrackingEntity = context.project_trackings.Single(pt => pt.project_id == projectId);
次に、アクション列を更新します(これはですNVarChar(MAX))が、すでにアクションがあるかどうかを確認しています。もしそうなら、私はそれにセミコロンを追加するだけです。アクション1;アクション2
私が電話するとき:
context.SubmitChanges();
デバッグ中に次のエラーが発生します。
System.NotSupportedException: SQL Server は、NText、Text、Xml、または Image データ型の比較を処理しません。
を設定UpdateCheck = UpdateCheck.Neverしてみましたが、問題は解決しません。
編集:アクションを更新するコードを追加します(変数「アクション」は文字列です)
var actions = projectTrackingEntity.action.Split(';');
bool equalActions = false;
foreach (string a in actions)
{
    if (string.Equals(a, action, StringComparison.CurrentCultureIgnoreCase))
    {
        equalActions = true;
        break;
    }
}
if(!equalActions)
{
    projectTrackingEntity.action = string.IsNullOrEmpty(projectTrackingEntity.action) ? //if
        action : //true
        projectTrackingEntity.action + ';' + action; //false
}
context.SubmitChanges();