我正在使用MVC webform將記錄插入到具有多個子記錄的數據庫中。在我的代碼隱藏中,我首先使用dataRepository.Add(xx)創建一個新的主記錄。現在我需要添加5個需要新創建記錄ID的子記錄。我如何檢索?ASP.NET MVC獲取最後添加的記錄的標識
8
A
回答
23
假設xx是你的模型,它的主鍵是標識,你可以得到的Id你插入的數據是這樣的:
// at this point xx.Id == null
db.XX.AddObject(xx);
db.SaveChanges();
// now: xx.Id > 0
int id = xx.Id;
1
您應該將所有5條記錄加上主記錄一直提交到您的數據層,然後在您的業務層中執行任何驗證。然後,根據DL的實施情況,保存主記錄,返回ID,在子記錄上設置父ID並保存。在一次交易中做到這一切,你應該沒問題。
請詳細介紹您的數據訪問層。
如果使用MS SQL Server,您可以在存儲過程中使用Scope_Identity()來獲取插入到標識列中的最後一個標識值。看到這個MSDN article
如果使用NHibernate的你在同一個會話中添加他們和NHibernate負責生成負責將用正確的ID記錄的SQL。
2
如果您正在使用ORM(例如實體框架),您應該能夠創建記錄和關聯記錄,通過將關聯記錄添加到主對象的集合中或者以某種方式設置它們,然後調用save方法在上下文中。這將爲您做所有與ID等鏈接。
你是如何進行數據訪問的?
相關問題
- 1. Informix:如何獲取最後插入的記錄的標識
- 2. indexeddb獲取最後添加的記錄非字母順序
- 3. 在不使用asp.net標識的情況下獲取記錄的用戶標識
- 4. asp.net mvc 2 jqgrid添加記錄
- 5. 如何獲取最後的記錄? (JS)
- 6. 獲取最後不同的記錄集
- 7. 獲取實體NSSet的最後記錄?
- 8. 如何用PHP中的PDO SQLite獲取最後添加的記錄的數量?
- 9. 向ASP.NET MVC中的URL slugs添加標識和標題
- 10. asp mvc從savechanges獲取最後插入標識()
- 11. 從最近添加的事件(EKEventStore saveEvent)獲取標識
- 12. 獲取加入的查詢的最後5條記錄
- 13. 獲取每個記錄組的最後一條記錄
- 14. ASP.NET:獲取.ascx的標記
- 15. 獲取最新添加的記錄在數據庫中
- 16. 如何獲得Asp.net MVC BeginForm正確添加結束標記?
- 17. laravel 4.2獲取最後10條記錄
- 18. CKQueryOperation獲取最後一條記錄
- 19. ASP.NET MVC實體框架,最新添加的項目越來越標識
- 20. 獲取給定標記的最後一個git標記
- 21. 獲取剛剛保存到數據庫的模型的記錄標識MVC4 ASP.Net
- 22. 添加新的記錄入表中標識的主鍵
- 23. 在asp.net中使用實體從mssql獲取新記錄的標識c#
- 24. 監視添加的文件並獲取最後添加的行
- 25. Rails - 從當前記錄中獲取最後X個記錄?
- 26. 從沒有唯一標識的重複記錄中獲取第一條記錄
- 27. ASP.net MVC - 獲取當前記錄的用戶角色
- 28. 獲取Google Apps腳本中最後插入的行的標識
- 29. 如何獲取PHP中的最後一個插入的標識
- 30. 獲取在asp.net mvc的當前目錄
如何您的數據存儲庫來實現? Linq的實體? Linq to SQL?輸入數據集?需要代碼。 – villecoder 2010-09-08 12:47:01
不是MVC Webform是一個矛盾嗎? – Martin 2010-09-08 12:50:21
只是一句話:不要在ASP.NET MVC中使用代碼隱藏文件! – davehauser 2010-09-08 13:00:27