gpt4 book ai didi

c# - LINQ to SQL 插入顺序 GUID

转载 作者:太空狗 更新时间:2023-10-29 20:06:38 24 4
gpt4 key购买 nike

我有一个数据库,它是合并复制方案的一部分,它有一个 GUID 作为 PK。具体来说,数据类型为 uniqueidentifier,默认值为 (newsequentialid()),RowGUID 设置为 Yes。当我执行 InsertOnSubmit(CaseNote) 时,我想我可以单独留下 CaseNoteID,数据库将输入下一个顺序 GUID,就像您在 MSSMS 中手动输入新行一样。相反,它发送 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 中为该列启用了自动生成,现在出现以下错误 --> 如果语句包含 OUTPUT,则 DML 语句的目标表不能有任何已启用的触发器没有 INTO 子句的子句。想法?

最佳答案

在 Linq to Sql 设计器中,将该列的自动生成值属性设置为 true。

这相当于 IsDbGenerated property对于专栏。唯一的限制是您不能使用 Linq 更新值。

关于c# - LINQ to SQL 插入顺序 GUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/753003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com