为了账号安全,请及时绑定邮箱和手机立即绑定

EF4.3 中DatabaseGeneratedOption.Identity不起作用???EF早就支持枚举了???

EF4.3 中DatabaseGeneratedOption.Identity不起作用???EF早就支持枚举了???

哔哔one 2018-12-06 22:15:35
属性为: 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 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

Entity Framework 4.3 不支持枚举

查看完整回答
反对 回复 2019-01-21
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

我也想应该可以,但实际上是不行的,对了,我是在基类中定义GUID主键,基类不生成表,派生类生成表使用TPC方式,不知道是不是和这个有关,

查看完整回答
反对 回复 2019-01-21
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

@lifencheng: 这个我刚才试了一下,可以的。我再看看TPC方式。

查看完整回答
反对 回复 2019-01-21
?
BIG阳

TA贡献1859条经验 获得超6个赞

我也想应该可以,但实际上是不行的,对了,我是在基类中定义GUID主键,基类不生成表,派生类生成表使用TPC方式,不知道是不是和这个有关,

EnumDataType 是我想多了,objectdatasource中用的吧,不明白EF要等到5才行

查看完整回答
反对 回复 2019-01-21
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

做个扩展方法搞定,虽然是很难看的方法。

TPC 方式下,对于Guid,HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)生成的都是0,只有显式定义才能在数据库生成默认值newid(),而对于非主键的DateTime来说,就是定义了也没用(如果要由数据库生成还是要定义),只能在SetInitializer中再修改了。

查看完整回答
反对 回复 2019-01-21
  • 8 回答
  • 0 关注
  • 434 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信