1

重複の可能性:
select SCOPE_IDENTITY() が整数ではなく小数を返すのはなぜですか?

次のコードを使用して、列に最後に挿入された ID を特定しています

var sql = "SELECT IDENT_CURRENT('TableName')"; 
var query = session.CreateSQLQuery(sql); 
var lastInsertedId = query.UniqueResult(); 

しかし、これらのID値を使用しようとすると

photo.Property = session.Load<Domain.Property>(lastInsertedId);

次のエラー メッセージが表示 されました。間違ったタイプの ID が提供されました。予想: System.Int32、System.Decimal を取得

どうすればこれらを克服できますか? ありがとう

4

2 に答える 2

3

lastInsertedIddecimalに変換してメソッドIntに渡す必要があるため、が返されますsession.Load

photo.Property = session.Load<Domain.Property>(System.Convert.ToInt32(lastInsertedId)); 
于 2012-08-07T11:41:36.350 に答える
0

あなたは書ける:

SELECT Cast(IDENT_CURRENT('Core.Clients') As Int)
于 2012-08-07T11:39:23.840 に答える