属性为:
public System.Guid ID { get; set; }
注册为:
HasKey(entity => entity.ID) .Property(entity => entity.ID) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
生成为 0000-0000-00000-00000
如果属性为
public DateTime CreateTime { get; set; }
Property(entity => entity.CreateTime)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
则干脆报datetime2 转为 datetime错误。
在System.ComponentModel.DataAnnotations中有一个EnumDataType,明确写着使 .NET Framework 枚举能够映射到数据列。可以用吗???
8 回答
BIG阳
TA贡献1859条经验 获得超6个赞
我也想应该可以,但实际上是不行的,对了,我是在基类中定义GUID主键,基类不生成表,派生类生成表使用TPC方式,不知道是不是和这个有关,
EnumDataType 是我想多了,objectdatasource中用的吧,不明白EF要等到5才行
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
做个扩展方法搞定,虽然是很难看的方法。
TPC 方式下,对于Guid,HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)生成的都是0,只有显式定义才能在数据库生成默认值newid(),而对于非主键的DateTime来说,就是定义了也没用(如果要由数据库生成还是要定义),只能在SetInitializer中再修改了。
- 8 回答
- 0 关注
- 434 浏览
添加回答
举报
0/150
提交
取消