首页 新闻 会员 周边

MVC 如何同时向两张表中插入数据。

0
悬赏园豆:15 [已解决问题] 解决于 2013-08-01 13:51

例如下面两个表。Item表中的ProjectID 是外键,我现在需要同时往两张表插入数据。

  -----------------------------------------------------           

Project  :ProjectID        NAME        code

Item     :ItemID        ProjectID       ItemName

说明:

      在页面中,录入NAME,code,ItemName之后,点保存。然后数据会同时保存到两张表中,求解~~~

谢谢了!

jean Q的主页 jean Q | 初学一级 | 园豆:117
提问于:2012-10-26 17:37
< >
分享
最佳答案
0

插入数据跟MVC没关系哦。  访问DB的是什么  EF? NH? ADO.Net?

收获园豆:5
sym_cn | 小虾三级 |园豆:798 | 2012-10-26 18:41

正解

八戒的师傅 | 园豆:1472 (小虾三级) | 2012-10-26 21:02

@八戒的师傅: 如果2个表的数据要门同时都插入成功,要么失败就都不插入,就采用事务

chenping2008 | 园豆:9836 (大侠五级) | 2012-10-26 22:26
其他回答(4)
0

保存一张跟两张有区别吗?db.SubmitChanges();这句话之前都不是真的存进数据库的。

学学学习 | 园豆:427 (菜鸟二级) | 2012-10-26 17:45
0

数据访问层是怎么搞的???

Angkor--:-- | 园豆:1086 (小虾三级) | 2012-10-27 00:33
0
 1 //Model中代码:
 2 public class ProjectContext:DbContext
 3 {
 4     public ProjectContext():base("这里是数据库连接字符串"){}
 5     public DbSet<Project> Project{get;set;}
 6     public DbSet<Item> Item{get;set;}
 7 }
 8 [Table("Project")]
 9 public class Project
10 {
11     public int ProjectID{get;set;}
12     public string Name{get;set;}
13     public string Code{get;set;}
14 }
15 [Table("Item")]
16 public class Item
17 {
18     public int ItemID{get;set;}
19     public int ProjectID{get;set;}
20     public string ItemName{get;set;}
21 }
22 //Controllers中代码:
23 private ProjectContext db=new ProjectContext();
24 public ActionResult Save(){return View();}
25 [HttpPost]
26 public ActionResult Save(Project project)
27 {
28     Item item=new Item{ ProjectID=project.ProjectID,ItemName=""}
29     db.Project.ADD(project); //给Project表加数据 
30     db.Item.ADD(item);       //给Item表加数据
31     db.SaveChanges();        //保存更改
32     return View();
33 }
收获园豆:10
Meen | 园豆:321 (菜鸟二级) | 2012-10-27 10:16

先插入主表 再插入外键表插入的时候调用方法Insert不是 InsertAndSubmit() 最后 SubmitChanges

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2012-10-27 13:18
0

写一个sql语句,查询出你要的这三个字段,然后再controller里写个插入的方法,既然有了外键了,写sql语句的时候加个join不就行,这样插入到一张表中 和 插入到两张表中有区别吗?

高处不胜寒、 | 园豆:203 (菜鸟二级) | 2012-12-21 16:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册