首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架核心-自定义主键

实体框架核心-自定义主键
EN

Stack Overflow用户
提问于 2022-09-27 08:51:53
回答 1查看 17关注 0票数 -2

我的表是在数据库中创建的。但是我想要的主键应该是10个字符长。主键必须随机生成。所以它应该是一个10位的随机数,而不是自动递增。我怎么能这么做?

1-主键必须是10个字符长。例如: 1674058910 2-主键必须随机生成。它不应该按升序排列。

EN

回答 1

Stack Overflow用户

发布于 2022-09-27 10:19:38

1-删除Auto increment的任何配置,比如[DatabaseGenerated(DatabaseGeneratedOption.Identity)]属性。

2-创建BaseEntity.cs类:

代码语言:javascript
复制
public class BaseEntity
{
   public BaseEntity()
   {
      Id = new Random().Next(1000000000,Int32.MaxValue);
   }

   public int Id {get; set;}
}

3-在你们所有的实体中继承这个类:

代码语言:javascript
复制
public class User : BaseEntity
{
  public string Name {get;set;}
}

4-重要:您的id中可能有冲突,在插入database之前检查id。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73864789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档