zoukankan      html  css  js  c++  java
  • 一个Linq to Sql 的关联小问题,搞死人


    第一段代码 
    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();


     第二段代码
    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();

    这两段代码的功能,我来说下:
    都是创建一个book对象book1和一个BookClass对象bc(当然数据库中设置了以BookClassID字段关联)
    然后把book1的类别设置为bc,
    第一段代码直接将book1的BookClass 属性设置为bc
    第二段代码将book1的BookClassID设置为bc的ID
    看起来差别不大

    可是这两段代码在执行上却有很大的区别,
    第一段代码执行完后,数据库中的Book表和BookClass表中都将产生一条记录
    而第二段代码执行完后,数据库中的记录不发生改变。


    这个看似相似的代码,在执行效果上差别巨大。

    这是我的一个项目中的小插曲,花了我5个小时来找这个问题,愚钝啊
    还是多仔细学习才行啊
    一个小的疏忽,可能会发生很严重的问题

    先写到这里,提醒部分兄弟伙
    NB的砖家笑笑hang开


  • 相关阅读:
    [转]C#获取文件的MD5值
    跨域ajax返回
    根据子表的条件修改主表的数据
    网络与多线程的设计例子
    网络与多线程的设计模式
    tcpdump移植和使用 -- by Johnson
    关于程序的歪门邪说--by Johnson
    重装系统——联想window 10
    Qt项目中error: C2001: newline in constant错误的解决
    使用NSIS制作Windows安装程序快速入门
  • 原文地址:https://www.cnblogs.com/ywolf123/p/1578897.html
Copyright © 2011-2022 走看看