1 BookDBLinqDataContext db = new BookDBLinqDataContext();
2
3 book book1 = new book();
4 book1.name = "book1";
5
6 BookClass bc = new BookClass();
7
8 book1.BookClass = bc;
9 db.SubmitChanges();
2
3 book book1 = new book();
4 book1.name = "book1";
5
6 BookClass bc = new BookClass();
7
8 book1.BookClass = bc;
9 db.SubmitChanges();
第二段代码
1 BookDBLinqDataContext db = new BookDBLinqDataContext();
2
3 book book1 = new book();
4 book1.name = "book1";
5
6 BookClass bc = new BookClass();
7
8 book1.BookclassID = bc.classID;
9 db.SubmitChanges();
2
3 book book1 = new book();
4 book1.name = "book1";
5
6 BookClass bc = new BookClass();
7
8 book1.BookclassID = bc.classID;
9 db.SubmitChanges();
这两段代码的功能,我来说下:
都是创建一个book对象book1和一个BookClass对象bc(当然数据库中设置了以BookClassID字段关联)
然后把book1的类别设置为bc,
第一段代码直接将book1的BookClass 属性设置为bc
第二段代码将book1的BookClassID设置为bc的ID
看起来差别不大
可是这两段代码在执行上却有很大的区别,
第一段代码执行完后,数据库中的Book表和BookClass表中都将产生一条记录
而第二段代码执行完后,数据库中的记录不发生改变。
这个看似相似的代码,在执行效果上差别巨大。
这是我的一个项目中的小插曲,花了我5个小时来找这个问题,愚钝啊
还是多仔细学习才行啊
一个小的疏忽,可能会发生很严重的问题
先写到这里,提醒部分兄弟伙
NB的砖家笑笑hang开