如何在ASP.NET MVC5中为特定模式执行自动增量



在我的项目中,ID列自动递增1,我需要为它创建一个自定义模式。

代替:

1

2

3

我需要像这样的Ad-1-(mm)-(yy)

mm:当前月份(由两位数字组成(,yy:当前年份(由两位数字组成(,

例如,如果我想在这个月创建记录,ID应该如下所示:

Ad-1-10-19(第一条记录(

Ad-2-10-19(第2条记录(

Ad-3-10-19(第3条记录(……

你能告诉我做这件事的正确方法吗?

假设您仍将保留integer主键ID列。您可以添加一个void函数来设置该属性,并在控制器内部调用它;

// your model
public class Product{
[Key]
public int productId {get;set;}
public string code {get;set;}
private void setCode() {
this.code= "Ad-" + this.productId.ToString() + "-" + DateTime.Now.ToString("MM-yy");
}
}
// your controller
public class ProductController : Controller(){
public ActionResult CreateProduct(){
Product p = new Product();
product.setCode();
}
}

或者你可以把它放在类的构造函数中,这样每当你实例化一个对象时,它就会自动创建;

// your model
public class Product{
// constructor
public Product(){
this.setCode();
}
[Key]
public int productId {get;set;}
public string code {get;set;}
private void setCode() {
this.code= "Ad-" + this.productId.ToString() + "-" + DateTime.Now.ToString("MM-yy");
}
}

相关内容

  • 没有找到相关文章

最新更新