日期:2014-05-20  浏览次数:20840 次

linq中关于 存储主从表的问题。。。
现有三张表

tbA(表A)
ID(自动增长ID)

tbB (表B)
ID(自动增长ID)
AID (A表外键)

tbC(表C)
ID(自动增长ID)
AID(A表外键)
BID(A表外键)

新增语句

 LinqData.tbA.InsertOnSubmit(tbA_List);

这样一次新增三张表的信息
其余的数据都很正常
就 tbC表中的 AID(也就是它的主表的主表ID)  Linq不会自动填充。tbC的AID 都为 null  

各位大牛, 这个问题有什么好办法解决.







------解决方案--------------------
LinqData.tbA.InsertOnSubmit(tbA_List);
var c=new tbC();
c.tbA=LinqData.SingleOrDefault(a=>a.ID==tbA_List.ID);

------解决方案--------------------
引用:
LinqData.tbA.InsertOnSubmit(tbA_List);
var c=new tbC();
c.tbA=LinqData.SingleOrDefault(a=>a.ID==tbA_List.ID);


这样不可以写吧??
------解决方案--------------------
引用:
LinqData.tbA.InsertOnSubmit(tbA_List);
var c=new tbC();
c.tbA=LinqData.SingleOrDefault(a=>a.ID==tbA_List.ID);


LinqData.SingleOrDefault  ???
------解决方案--------------------
没有自动填充,应该是 没有值。
你的关系好像是: 
一个tbA对应多个tbC,一个tbA对应一组AID的tbC 和  一组BID的tbC。
但一般一个tbC对应一个tbA,当然AID和BID可能有一个为null,
你也可以显示的在一组AID的tbC 中给BID赋值,到时候这个tbC,就可以有多个tbA中获取到。

------解决方案--------------------
引用:
没有自动填充,应该是 没有值。
你的关系好像是: 
一个tbA对应多个tbC,一个tbA对应一组AID的tbC 和  一组BID的tbC。
但一般一个tbC对应一个tbA,当然AID和BID可能有一个为null,
你也可以显示的在一组AID的tbC 中给BID赋值,到时候这个tbC,就可以有多个tbA中获取到。


关系是 tbA 对多个  tbB, tbB 对多个tbC  

那tbC中 Aid 新增的时候不好赋值

 linq里只要有主外键关系 就会自动把主表的自增ID 插到 子表中去的

但这个 tbC 表中有 两个外键 BID 和Cid  linq 只自动填充了 BID 但没填充Aid