Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 是否可以在亚音速2.0中插入/更新标识_Asp.net_C# 4.0_Subsonic Active Record_Subsonic2.0 - Fatal编程技术网

Asp.net 是否可以在亚音速2.0中插入/更新标识

Asp.net 是否可以在亚音速2.0中插入/更新标识,asp.net,c#-4.0,subsonic-active-record,subsonic2.0,Asp.net,C# 4.0,Subsonic Active Record,Subsonic2.0,不幸的是,我一直在使用这个基本上没有文档记录/过时的库(亚音速2.0)。我试图做一个简单的身份插入,但我似乎无法让它工作 以下是我尝试执行的psuedo代码版本: SubSonicExampleObject o = new Select() .From(SubSonicExampleObject.Schema) .Where(SubSonicExampleObject.IdColumn)

不幸的是,我一直在使用这个基本上没有文档记录/过时的库(亚音速2.0)。我试图做一个简单的身份插入,但我似乎无法让它工作

以下是我尝试执行的psuedo代码版本:

SubSonicExampleObject o = new Select()
                          .From(SubSonicExampleObject.Schema)
                          .Where(SubSonicExampleObject.IdColumn)
                          .IsEqualTo(124124)
                          .ExecuteSingle<SubSonicExampleObject>();

if(o == null)
{
    o = new SubSonicExampleObject();
    o.Id = 124124;
    o.Save();
}
不管我怎么做,亚音速似乎忽略了ID值,并根据下一个标识值进行设置


如果有人知道怎么做,我会非常高兴的

为什么在使用标识列时需要插入该特定ID?如果这是一个边缘案例,您不能在insert this(缺少但预期?)记录中编写SQL脚本,然后让它在后续插入中使用下一个标识值吗?嘿,BateTech,事实上这是针对导入应用程序的,在循环中以这种方式插入了数百个对象。最后我做了一个大型的内联查询,其中包括insert语句和切换IDENTITY\u insert(出于某种原因,将其作为三个独立的内联查询运行,类似于我的第二个示例,不起作用?)。如果我找不到一个更干净的解决方案,我可能会把它贴出来作为答案。
new InlineQuery()
    .Execute("SET IDENTITY_INSERT " + SubSonicExampleObject.Schema + " ON");

    [CODE ABOVE]

new InlineQuery()
    .Execute("SET IDENTITY_INSERT " + SubSonicExampleObject.Schema + " OFF");