【问题标题】:How to modify Random().Next() to Autoincrementing如何将 Random().Next() 修改为 Autoincrementing
【发布时间】:2021-05-02 13:36:29
【问题描述】:

我正在做一个 ASP.NetCore MVC 项目。

以下是我用来插入表'ImageFile'的主键的代码。
(它具有以下属性:IdUserIDImageNameSizeURl 等。UserId 是外键)。

ImageFile imageFile = new ImageFile();
imageFile.Id = new Random().Next();

这只是在表格的Id 字段中插入一个随机数。
例如:

ID UserId ImageName
1513570791 2 image1.png
1714580687 2 image2.png
5909420604 2 image3.png

如何修改上述代码 sn-p 以向表中插入自增值?
例如:

ID UserId ImageName
1 2 image1.png
2 2 image2.png
3 2 image3.png

谢谢。

【问题讨论】:

  • 你是如何定义表格的?有“自动编号”选项可用于让表生成(顺序)ID
  • 你用的是什么数据库?
  • @HansKesting 我使用数据库优先方法来实现模型类。所以,模型类中有注释
  • @Arcturus 我正在使用微软的 sql 数据库
  • @AbdulAsim 您对预览中的表格是正确的;我将把它反馈给我们在 Markdown 中工作的开发人员

标签: c# asp.net-mvc


【解决方案1】:

来自 cmets

“我正在使用微软的 sql 数据库”

然后:将列(大概是Id)定义为IDENTITY(1,1),例如Id int not null IDENTITY(1,1) - 你就完成了。现在数据库在 INSERT 期间分配值 - 从 1 开始并每次递增 1,您不能 UPDATE 它等等。如果您使用的是诸如 EF 之类的 ORM,则需要告诉它该列是数据库拥有;通常有一个属性(因此它不会尝试将该值推送到数据库中),例如[DatabaseGenerated(DatabaseGeneratedOption.Identity)]

【讨论】:

    猜你喜欢
    • 2021-08-07
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多