linq、クロスリファレンステーブルへの記録を挿入し、hotfixが機能していない

StackOverflow https://stackoverflow.com/questions/3936593

  •  30-09-2019
  •  | 
  •  

質問

私は、役割と特権のテーブルにFKを備えたクロスリファレンステーブルのroleprivilegeを持っています。基本的に役割には多くの特権があります。

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

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

これが私のコードです:

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

最後の行の実行時に、次のエラーが表示されます。DMLステートメントのターゲットテーブル「DBO.ROLEPRIVILEGE」には、ステートメントが条項のない出力条項が含まれている場合、有効なトリガーを持つことができません。

このアプリはWindowsアプリで、2008年のSQL Serverが更新されたパッチ、バージョン9.0.4035を備えています

どんな助けも感謝します。

役に立ちましたか?

解決

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

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

生成されたSQL(セット)を調べた場合 DataContext.LogConsole.Out )、出力条項が表示されます。この条項の目的は、データベース生成値を使用してインスタンスでプロパティを自動的にプロパティすることです。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top