c# – LINQ to SQL插入顺序GUID

c# – LINQ to SQL插入顺序GUID,第1张

概述我有一个数据库是合并复制方案的一部分,它具有GUID,因为它是PK.具体来说,数据类型是uniqueidentifier,默认值(newsequentialid()),RowGUID设置为Yes.当我执行InsertOnSubmit(CaseNote)时,我认为我可以单独留下CaseNoteID,并且数据库将像在MSSMS中手动输入新行一样输入下一个Sequential GUID.相反,它发送00 我有一个数据库是合并复制方案的一部分,它具有GUID,因为它是PK.具体来说,数据类型是uniqueIDentifIEr,默认值(newsequentialID()),RowGUID设置为Yes.当我执行InsertOnsubmit(CaseNote)时,我认为我可以单独留下CaseNoteID,并且数据库将像在MSSMS中手动输入新行一样输入下一个Sequential GUID.相反,它发送00000000-0000-0000-0000-000000000000.如果我添加CaseNoteID = GuID.NewGuID(),我得到一个GUID但不是顺序的(我很确定).

有没有办法让sql在liNQ InsertOnsubmit()上创建下一个顺序ID?

以下是我用于将新记录插入数据库的代码.

CaseNote caseNote = new CaseNote                                {                                    CaseNoteID = GuID.NewGuID(),TimeSpentUnits = Convert.ToDecimal(tbxTimeSpentUnits.Text),IsCaseLog = chkIsCaseLog.Checked,ContactDate = Convert.ToDateTime(datContactDate.Text),ContactDetails = memContactDetails.Text                                };        caseNotesDB.CaseNotes.InsertOnsubmit(caseNote);        caseNotesDB.submitChanges();

基于以下建议之一,我在该列的liNQ中启用了自动生成,现在我收到以下错误 – >如果语句包含没有INTO子句的OUTPUT子句,则DML语句的目标表不能具有任何已启用的触发器.
想法?

解决方法 在linq to sql设计器中,为该列设置auto Generated Value属性为true.

这相当于列的IsDbGenerated property.唯一的限制是您无法使用linq更新值.

总结

以上是内存溢出为你收集整理的c# – LINQ to SQL插入顺序GUID全部内容,希望文章能够帮你解决c# – LINQ to SQL插入顺序GUID所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1245422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存