其實我花了整天的時間在外鍵的EntityFramework上。 假設我們有兩個表。 過程(APP_ID,PROCESS_ID) LookupProcessId(PROCESS_ID,process_description)使用數據庫外鍵的EntityFramework
你能理解其名稱,第一個表兩張表,使用PROCESS_ID指示每一個應用程序,並說明是在seoncd表。 其實我嘗試了很多次,弄清楚如何inquery做:感覺有點像
Dim result = (from x in db.Processes where x.LookupProcess is (from m in db.LookupProcessIds where descr = "example" select m).FirstOrDefault() select x).FirstOrDefault()
首先我想問的是有更簡單的方法來做到這一點。
其次我要問的問題是關於插入
p As New AmpApplication.CUEngData.Process
p.app_id=100
p.LookupProcess = (from m in db.LookupProcessIds where descr = "example" select m).FirstOrDefault()
db.AddToProcesses(p)
db.SaveChanges()
從外觀上看起來很好,但它給我的錯誤說 實體在「AmpCUEngEntities.Processes」參加「FK_Process_LookupProcess」的關係。找到0個相關的「LookupProcess」。預計會有'LookupProcess'。
我可以問的是,插入錯誤?這是我的查詢是否正確?
對於第二部分,實際上是否存在LookupProcess返回的實例? – jeroenh
實例返回是什麼意思? – Hypnoz
數據庫中是否有實際記錄? – jeroenh