预期:System.Int32,得到System.Decimal
本文关键字:System 得到 Decimal Int32 预期 | 更新日期: 2024-10-24 23:37:10
可能的重复项:
为什么选择 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
我怎样才能克服这些?谢谢
lastInsertedId
返回为 decimal
您必须将其转换为 Int
并将其传递给 session.Load
方法
photo.Property = session.Load<Domain.Property>(System.Convert.ToInt32(lastInsertedId));
你可以这样写:
SELECT Cast(IDENT_CURRENT('Core.Clients') As Int)