2 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
當(dāng)你List從CreateSQLQuery你那里打電話時(shí),你會(huì)得到一個(gè)實(shí)例,IList它在內(nèi)部是一個(gè)List<object>. 如果此結(jié)果有空值,則無(wú)法轉(zhuǎn)換為 ,int因?yàn)樗侵殿愋?。因此,一個(gè)解決方案是迭代結(jié)果并在它是有效整數(shù)時(shí)進(jìn)行轉(zhuǎn)換。樣品:
var values = _session.CreateSQLQuery("SELECT Id FROM SomeTable").List();
var ids = new List<int>();
foreach (var item in values)
{
if (item != null)
ids.Add(Convert.ToInt32(item));
}
如果這是 nhibernate 范圍上的映射表,則可以使用 LINQ 來(lái)執(zhí)行此操作,例如:
var ids = session.Query<SomeEntity>().Select(x => x.Id).ToList();
- 2 回答
- 0 關(guān)注
- 295 瀏覽
添加回答
舉報(bào)