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

关于Guid类型属性,StoreGeneratedPattern设置成Identity
Q:这个属性是标识列,数据库层面默认值为 “newid()”
   edmx里相对应将StoreGeneratedPattern设置成Identity。
  
   能不能在我手动设置ID时(程序里类似于这样model.ID=Guid.NewGuid();)
   让EF不使用数据库里默认值“newid()”。

   还是说只能先SavaChange(),在去获取model的ID??
------最佳解决方案--------------------
引用:
引用:

设成None不就是了


现在是想,在未手动设置的情况,让EF自动生成标识列。
设成None就不行了。



在构造方法里给属性赋值 this.Id = Guid.NewGuid();
------其他解决方案--------------------
设成None不就是了
------其他解决方案--------------------
引用:
设成None不就是了


现在是想,在未手动设置的情况,让EF自动生成标识列。
设成None就不行了。
------其他解决方案--------------------
引用:
引用:

引用:

设成None不就是了


现在是想,在未手动设置的情况,让EF自动生成标识列。
设成None就不行了。



在构造方法里给属性赋值 this.Id = Guid.NewGuid();


唉,因为用的自动生成代码策略,
保存edmx文件时,手动写在Designer.cs文件的代码会被覆盖掉。
------其他解决方案--------------------
貌似当StoreGeneratedPattern为Identity时,
EF会忽略掉属性的Set