这是我到目前为止:
[Key] public byte Id { get; set; }
问题是当Entity Framework创建数据库时,它没有设置允许行在插入时自动递增的标识规范属性.
如果我将数据类型更改为Int16(sql Server中的smallint),一切都很完美.
有没有办法告诉实体框架设置自动增量属性,还是一个字节不能用作实体框架代码优先的主键?
[Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] public byte Id { get; set; }
明确地设置Identity选项对于int,long和short(以及可能更多类型?)不是必需的,但它是一个字节(在sql Server中为tinyint).我通过测试得出结论,但无法在任何地方找到正式记录.