1

RoleおよびPrivilegeテーブルへのFKを持つ相互参照テーブルRolePrivilegeがあります....基本的にRoleは多くの権限を持つことができます。

Microsoft ホットフィックスにある ホットフィックス

すでに適用されています。

これが私のコードです:

Public Sub InsertRolePrivilege(ByVal inrole As Role, ByVal inprivilege As Privilege)
        Dim r As Role = (From ro In DataConnect.dcGSFCommon.Roles Where ro.RoleId = inrole.RoleId).First

        Dim rolep As New RolePrivilege
        rolep.PrivilegeId = inprivilege.PrivilegeId
        rolep.CreatedBy = System.Threading.Thread.CurrentPrincipal.Identity.Name
        rolep.DateCreated = System.DateTime.Now()
        rolep.RolePrivilegeId = System.Guid.NewGuid()

        r.RolePrivileges.Add(rolep)

        DataConnect.dcGSFCommon.SubmitChanges()

    End Sub

最後の行を実行すると、次のエラーが発生します。ステートメントに INTO 句のない OUTPUT 句が含まれている場合、DML ステートメントのターゲット テーブル 'dbo.RolePrivilege' で有効なトリガーを使用できません。

アプリは、更新されたパッチ、バージョン 9.0.4035 を適用した 2008 SQL サーバーを使用する Windows アプリです。

どんな助けでも大歓迎です。

4

1 に答える 1

1

おそらく(あなたが言わなかったので)

  1. テーブルにトリガーがあります。
  2. トリガーを削除することはできません。

生成されたSQL(に設定)を調べると、出力句が表示さDataContext.LogConsole.Outます。この句の目的は、インスタンスのプロパティをデータベースで生成された値と自動同期することです。

行う必要があるのは、各列のAutoSyncプロパティをに設定することですAutoSync.Never。これは、linqtosqlデザイナを介して行うことができます。

于 2010-10-15T15:02:35.790 に答える