Mysql 使用前缀自动递增编码第一个主键

Mysql 使用前缀自动递增编码第一个主键,mysql,entity-framework,ef-code-first,code-first,Mysql,Entity Framework,Ef Code First,Code First,我有一个数据库问题。嗯,我不确定该怎么办。我在mvc5项目中使用codefirst方法。 目前,我的表的主键是自动生成的,并且会增加。例如,customerid-0,1,2,3等 我想知道,如何为这个id添加前缀,例如我希望它是Cust0而不是仅仅是0。问题是您想要这种“密钥”的原因是什么?您可以自动为客户生成ID并创建自己的财产: public class Customer { public const string CustomerPrefix = "Cust"; [Key]

我有一个数据库问题。嗯,我不确定该怎么办。我在mvc5项目中使用codefirst方法。 目前,我的表的主键是自动生成的,并且会增加。例如,customerid-0,1,2,3等


我想知道,如何为这个id添加前缀,例如我希望它是Cust0而不是仅仅是0。

问题是您想要这种“密钥”的原因是什么?您可以自动为客户生成ID并创建自己的财产:

public class Customer
{
   public const string CustomerPrefix = "Cust";

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

   [NotMapped]
   public string CustomerId 
   {
      get { return string.Concat(CustomerPrefix, Id)}
   }
}

顺便说一句:将PK作为字符串是一种非常糟糕的做法(因为性能)

我认为任何数据库引擎都不支持该功能。基本上,自动识别只是为了方便,您并不真正关心身份(它不会用于搜索等)。该身份通常对用户隐藏,并且从不显示。如果要显示标识,还可以自己附加前缀。如果用户输入了身份,您可以在查找前去掉前缀以获得实际身份。好的,我理解。非常感谢你的朋友!这有助于aloti将id用作发票的参考号(我在做贷款申请系统)。谢谢,这完全回答了我的问题,朋友!