MVC EF 中 code First 1对多设计

问题描述

当前有ThisOne,ThisTwo,ThisThree3个表关系:ThisOne对ThisTwo(1对多),ThisTwo对ThisThree(1对1)codefirst如何设计,还有添加数据是如何添加一次保存1条ThisA和多条ThisB(每条ThisB对应关联1条ThisC的数据)求例子我现在的设计是:publicclassThisOne{[Key]publicintId{get;set;}publicstringName{get;set;}publicstringOther{get;set;}publicvirtualICollection<ThisTwo>ThisTwo{get;set;}}publicclassThisTwo{[Key]publicintId{get;set;}publicintThisOneId{get;set;}publicstringName{get;set;}publicstringOther{get;set;}publicvirtualThisThreeThisThree{get;set;}}publicclassThisThree{[Key]publicintId{get;set;}publicintThisTwoId{get;set;}publicstringName{get;set;}publicstringOther{get;set;}publicvirtualThisTwoThisTwo{get;set;}}//添加publicActionResultIndex(){TestContexttc=newTestContext();//oneThisOneone=newThisOne();one.Name="One";one.Other="One1";tc.ThisOne.Add(one);//twoList<ThisTwo>listTwo=newList<ThisTwo>();for(inti=1;i<4;i++){ThisTwotwo=newThisTwo();two.Name="Two"+i;two.Other="OtherTwo"+i;two.ThisOneId=one.Id;tc.ThisTwo.Add(two);//threeThisThreethree=newThisThree();three.Name="three"+i;three.Other="OtherThree"+i;three.ThisTwoId=two.Id;tc.ThisThree.Add(three);}tc.Configuration.ValidateOnSaveEnabled=false;tc.SaveChanges();tc.Configuration.ValidateOnSaveEnabled=true;returnView();}

如何一次把3个表的数据添加进去我希望的是ThisOne(Id)关联ThisTwo(ThisOneId),ThisTwo(Id)关联ThisThree(ThisTwoId)

解决方案

解决方案二:
EF6,新增了addrange()和removerange()...具体参考http://msdn.microsoft.com/zh-cn/library/gg696460(v=vs.113).aspx
解决方案三:
大神呢!没人回答吗?
解决方案四:
人呢。。。。。。
解决方案五:
引用3楼u012208913的回复:

人呢。。。。。。

coffetime.
解决方案六:
用数据库直接搭不行么。。。导航属性可以直接一对多

时间: 2024-11-30 23:29:22

MVC EF 中 code First 1对多设计的相关文章

MVC+EF框架中实习tab切换内容无刷新分页

问题描述 MVC+EF框架中实习tab切换实现切换也里的内容无刷新分页和搜索功能如图点击生化还是面议tab时会切换到对应的项目内容,由于内容比较多,所有要加分页和查询.这个该怎么实现呢. 解决方案 解决方案二:http://bbs.csdn.net/topics/390814146

MVC+LINQToSQL的Repository模式之(三)Repository模式实现统一CURD操作,实现EF中的Find主键查找

namespace Data.TEST { /// <summary> /// 数据通用操作实现 /// </summary> /// <typeparam name="TEntity"></typeparam> public class Repository<TEntity> : TESTRepositoryBase, IRepository<TEntity> where TEntity : class,IEnt

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    (5):前台Jquery easyUI实现    (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一     

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装          (5):前台Jquery easyUI实现   (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSessi

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改 ASP.NET MVC+EF框架+EasyUI实现权限管系列  (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装   (5):前台Jquery easyUI实现    (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一    (9):TT摸版的学习   (1

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(22)-为用户设置角色

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(22)-为用户设置角色 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装          (5):前台Jquery easyUI实现   (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一          (9):TT摸版

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览  ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装       (5):前台Jquery easyUI实现   (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一       (9):TT摸版的学

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    (5):前台Jquery easyUI实现    (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一     (9):TT摸版的学习 

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装  (5):前台Jquery easyUI实现   (6):EF上下文实例管理   (7):DBSession的封装   (8):DBSession线程内唯一 前言:前面我们基本已经完成了一个Demo,我们在后面的