EF的DatabaseGeneratedOption.Identity属性不适用于ulong类型

时间:2014-09-15 17:49:49

标签: c# asp.net asp.net-mvc entity-framework ef-code-first

[Table( "User" )]
public class User
{
    [Key]
    [DatabaseGeneratedAttribute( DatabaseGeneratedOption.Identity )]
    public ulong Id { get; set; }
    // other columns
}

对于此代码,我得到例外:

  

System.Data.Entity.Edm.EdmEntityType :: EntityType'User'没有密钥   定义。定义此EntityType的密钥。

但是将Id的类型更改为int,一切正常。

    //...
    [DatabaseGeneratedAttribute( DatabaseGeneratedOption.Identity )]
    public int Id { get; set; }
    //...

如何使用具有ulong类型容量的Id自动创建表的可能性? (显然首先使用ef的代码)

1 个答案:

答案 0 :(得分:1)

鉴于数字sql服务器类型是:

  

bigint,numeric,bit,smallint,decimal,smallmoney,int,tinyint,money

很明显,CLR类型UInt64ulong)不会映射到任何这些类型。