c# - EF:整数自增主键
问题描述
以前我只使用 MySQL 数据库,对id
字段使用自动递增整数设置是相当标准的。
尝试使用SQLite
数据库的实体框架,我注意到 EFGuid
默认使用结构标识符,因此需要string
此类字段。结果,我们有一个如下所示的标识符:
a75d9d3d-6543-44fe-9fb8-f19f411503e5
public class AccountDataModel
{
/// <summary>
/// The unique Id
/// </summary>
public string Id { get; set; }
[...]
}
两个问题:
- 这是为什么?有什么特别的理由不使用整数标识符吗?这个比那个好吗?
- EF 是否允许使用整数标识符?如果是这样,如何启用它?
解决方案
简单地改变
public string Id { get; set; }
至
public int Id { get; set; }
并且应该将您的 Identity 列类型 int 更改为 1。使用 EF 迁移查看为创建表、键和关系生成的代码。
推荐阅读
- regex - 如何在正则表达式中更改该字符串
- android - firebase ml kit人脸检测,没有人脸时画矩形,为什么?
- javascript - 具有多个值的字段上的 AG-grid 企业分组
- string - 如何选择大于
- pandas - Pandas 在索引级别内重新采样频率
- python - 创建一个具有连续秒数的数组 - strptime - KeyError : 0
- angular - 关于可观察的最佳实践
- angular - 使用一些过滤器 ES6+ 用 4 个随机不同的非重复对象填充数组
- flutter - 如何让 Flutter web 在 127.0.0.1 上收听
- javascript - 我应该在反应元素之外使用 div 来通过 jsx 中的 id 获取它并操纵它的样式吗?反应数据网格