我正在使用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. ASP.Net MVC从AJAX获取新添加的记录的ID后
- 2. Informix:如何获取最后插入的记录的标识
- 3. 最近添加的记录的标识和从gridview插入?
- 4. indexeddb获取最后添加的记录非字母顺序
- 5. 在不使用asp.net标识的情况下获取记录的用户标识
- 6. asp.net mvc 2 jqgrid添加记录
- 7. 如何获取最后10添加记录在iphone
- 8. 如何获取新添加的记录
- 9. 获取的最后一个记录
- 10. 如何获取最后的记录? (JS)
- 11. 获取最后不同的记录集
- 12. 获取实体NSSet的最后记录?
- 13. 向ASP.NET MVC中的URL slugs添加标识和标题
- 14. 如何用PHP中的PDO SQLite获取最后添加的记录的数量?
- 15. asp mvc从savechanges获取最后插入标识()
- 16. 从最近添加的事件(EKEventStore saveEvent)获取标识
- 17. 获取加入的查询的最后5条记录
- 18. 获取每个记录组的最后一条记录
- 19. 获取最后一个孩子记录的记录
- 20. 获取最早的记录
- 21. ASP.NET:获取.ascx的标记
- 22. 如何获得Asp.net MVC BeginForm正确添加结束标记?
- 23. 按价值获得记录或获取最后一条记录
- 24. 获取最新添加的记录在数据库中
- 25. Laravel 4:获取最后附加记录的ID
- 26. ASP.NET MVC实体框架,最新添加的项目越来越标识
- 27. 获取刚刚保存到数据库的模型的记录标识MVC4 ASP.Net
- 28. 如何获取最后一条记录
- 29. 从mongoDB获取最后30条记录
- 30. 获取最后更新记录提交
如何您的数据存储库来实现? 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