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.SingleOrDefault ???
------解决方案--------------------没有自动填充,应该是 没有值。
你的关系好像是:
一个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