问题描述
当前有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.
解决方案六:
用数据库直接搭不行么。。。导航属性可以直接一对多