2011-08-30 10 views

cevap

1

Görevinizi IDENTITY sütunundan faydalanın.

msdn üzerinde tüm ayrıntıları alın: IDENTITY

0

SQL Server 2008 yok: bu durumda yerine IDENTITY sütun özelliğini kullanmak -

Genellikle, tablo için bir "otomatik artan" sütununu oluşturmak istiyorum henüz diziler. Ama dizileri davranışını taklit etmek için bazı numaralar kullanabiliriz. Bazen herhangi bir veri eklemeden bazı tablo için tanımlayıcı oluşturmamız gerekir. Veya farklı tablolar için kimlikler oluşturun. Böyle bir durumda bu yapıyı kullanırım.

bir tablo oluşturun:

create table IdSequence (id int identity(1,1)) 

Sonra oluşturmak için bu komut dosyasını kullanmak Id:

public Int32 GetNextId() 
    { 
     Int32 id = 0; 
     using (var transaction = Session.BeginTransaction()) 
     { 
      id = Session.CreateSQLQuery("insert IdSequence output inserted.id default values").UniqueResult<Int32>(); 
      transaction.Rollback(); 
     } 

     return id; 
    } 
:

begin tran 
insert into IdSequence output inserted.id default values 
rollback tran 

Uygulamamda yılında benziyor