我有一个数据库是合并复制方案的一部分,它具有一个GUID,因为它是PK。具体而言,数据类型是uniqueidentifier,默认值(newsequentialid()),RowGUID设置为是。当我做一个InsertOnSubmit(CaseNote)时,我想我可以单独离开CaseNoteID,并且数据库会像MSSMS中手动输入一个新行一样输入下一个Sequential GUID。相反,它会发送00000000-0000-0000-0000-000000000000。如果我添加CaseNoteID = Guid.NewGuid(),
我得到一个GUID,但不是一个顺序的(我很确定)。LINQ to SQL插入顺序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该列,现在我碰到下面的错误 - >DML语句的目标表不能有任何启用的触发器如果该语句包含一个不带INTO子句的OUTPUT子句。 想法?
我尝试这样做,我现在碰到下面的错误 - > DML语句不能有任何启用的触发器的目标表,如果语句包含一个OUTPUT子句没有INTO子句。 – 2009-04-15 18:37:13
如果它不工作,你为什么接受答案? – guiomie 2013-06-19 18:16:21
对我来说这已经设置好了,但数据库仍然试图分配默认的0的guid而不是生成一个。 – DCShannon 2015-05-14 19:01:33