解决方案 »

  1.   

    那我就来接分~
    告诉你为什么会有00000000
    那是因为所有值类型都有默认值~ 而Guid的默认值是:00000000
    因为Guid有了默认值 所以数据库的NewId就没有效果了~
      

  2.   

    OK   说接分都来了 - -   履行诺言  2L 40 ~~
      

  3.   

    但是我一直有个疑问   不是说EF也是拼接SQL传入数据库么  为什么数据库的默认值对EF无效呢  那是不是说EF并不是像我们平常那样传入SQL的写法  还是做了另外的一些操作
      

  4.   

    因为你程序里的guid并不是个null值,而是和int类型相似有个00000000-0000-0000-0000-000000000000的默认值,ef再判断时候认为00000000-0000-0000-0000-000000000000是一个有效的guid而不是空,所以顺理成章的把这个值插入数据库