我們刪除了主鍵並將其轉換爲組合鍵。該屬性已從Model和Fluent Mapping中刪除。該字段已從數據庫中刪除。現在,當我們在提交火QueryOver,它觸發的更新和更新拋出SQL Error: Invalid Column Name: 'SubmissionID'
在刪除的列上找不到流暢的nhibernate列
上一頁
public class Submission{
public virtual int SubmissionID{get;set;}
public virtual int CandidateID{get;set;}
public virtual int JobID{get;set;}
}
public class SubmissionMap:...{
public SubmissionMap(){
Id(x=>x.SubmissionID
}
}
改爲
public class Submission{
public virtual Candidate Candidate{get;set;}
public virtual Job Job{get;set;}
}
public class SubmissionMap:...{
public SubmissionMap(){
CompositeId()
.KeyReference(x=>x.Job)
.KeyReference(x=>.Candidate);
}
}
此更改後,任何更新/上提交插入被觸發一個SQL Error: Invalid SubmissionID column
。我們記錄了所有的NHibernate SQL查詢,它們都沒有SubmissionID列。
作爲臨時修復,我們重新創建了SubmissionID列,並且錯誤消失。我們確實有Redis二級緩存。
數據庫架構轉儲不顯示列被引用到任何地方。所以似乎沒有任何舊的觸發器或與此有關的任何數據庫相關的問題。將嘗試刪除Redis緩存並嘗試重新運行,看看是否有幫助。感謝您對代理鍵的建議和鏈接。 –