1 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
作為一個(gè)曾不幸與凌亂的遺留 Nhibernate 項(xiàng)目一起工作的人,我提出以下建議,讓你的生活更輕松,并在充滿敵意的領(lǐng)土上生存下來(lái):
1-“如果”您的數(shù)據(jù)庫(kù)是 SQL Server:打開(kāi)SQL Server 探查器并應(yīng)用所需的過(guò)濾器(數(shù)據(jù)庫(kù)名稱和命令文本),以便您看到哪些 sql 命令被準(zhǔn)確傳遞到服務(wù)器。對(duì)我來(lái)說(shuō),這將是起點(diǎn)。
2- 如果 SQL Server 不是你的后端引擎,你在調(diào)試時(shí)最好的朋友是NHibernate 分析器。通過(guò)顯示傳遞給服務(wù)器的每個(gè)參數(shù)的值以及最終查詢,這正是您要查找的內(nèi)容。它還顯示打開(kāi)的會(huì)話以及它們是否關(guān)閉。你可以下載試用版看看。
3- 對(duì)于未來(lái)的代碼手術(shù),始終將您的項(xiàng)目配置為按需打開(kāi)跟蹤:使用Nhibernate 跟蹤 NLog以記錄正在傳遞給 sql server 的 sql 語(yǔ)句并將它們保存在單獨(dú)的日志中。
上面的工具和建議是我會(huì)嘗試的,如果我被困在你的情況下。
作為最后的提示:如果您使用上述方法未能找到問(wèn)題,請(qǐng)自行解決問(wèn)題并使用您自己的 SQL 本機(jī)語(yǔ)句運(yùn)行更新。有時(shí)弄清楚為什么 NHibernate 沒(méi)有生成所需的 SQL 語(yǔ)句比手動(dòng)創(chuàng)建和執(zhí)行更新語(yǔ)句花費(fèi)更多的時(shí)間。這是你的最后一槍。聽(tīng)起來(lái)可能不干凈,但大多數(shù) NHibernate 項(xiàng)目無(wú)論如何都不干凈。
- 1 回答
- 0 關(guān)注
- 112 瀏覽
添加回答
舉報(bào)