首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linq,正在将记录插入交叉引用表,热修复程序不起作用

Linq,正在将记录插入交叉引用表,热修复程序不起作用
EN

Stack Overflow用户
提问于 2010-10-15 02:59:46
回答 1查看 290关注 0票数 1

我有一个交叉引用表RolePrivilege,其中有FK to Role和Privileges tables....basically Role可以有很多特权。

位于Microsoft hotfix的热修复程序

已经被应用了。

下面是我的代码:

代码语言:javascript
复制
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‘包含没有INTO子句的OUTPUT子句,则该语句不能有任何已启用的触发器。

该应用程序是windows应用程序,带有更新补丁程序的2008 SQL server,版本9.0.4035

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-15 23:02:36

大概(因为你没说)

  1. 表上有触发器。
  2. 您不能删除触发器。

如果检查生成的sql (将DataContext.Log设置为Console.Out ),您将看到一个output子句。此子句的目的是将实例上的属性与数据库生成的值自动同步。

您需要做的是将每列的AutoSync属性设置为AutoSync.Never。您可以通过linq to sql设计器执行此操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3936593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档