gpt4 book ai didi

c# - 使用字节作为主键数据类型

转载 作者:太空狗 更新时间:2023-10-29 18:18:50 25 4
gpt4 key购买 nike

我正在使用 Entity Framework 代码优先。我有一个不超过 100 行的表,我想使用数据类型 byte(SQL Server 中的 tinyint)作为主键。

这是我目前所拥有的:

[Key]
public byte Id { get; set; }

问题是当 Entity Framework 创建数据库时,它没有设置允许行在插入时自动递增的标识规范属性。

如果我将数据类型更改为 Int16(SQL Server 中的 smallint),则一切正常。

有没有办法告诉 Entity Framework 设置自动递增属性,或者一个字节不能用作 Entity Framework 代码优先的主键?

最佳答案

支持 byte 类型作为键和标识列。将 byte 主键标记为身份并不是默认设置。但是你可以覆盖这个默认值:

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public byte Id { get; set; }

对于 intlongshort(和也许更多类型?),但它是针对 byte(= SQL Server 中的 tinyint)。我通过测试弄明白了,但无法在任何地方找到它的正式记录。

关于c# - 使用字节作为主键数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12202203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com