1 回答

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