Как выполнить автоматическое увеличение для определенного шаблона в ASP.NET MVC5 - PullRequest
1 голос
/ 27 октября 2019

В моем проекте столбец идентификатора автоматически увеличивается на 1, и мне нужно создать собственный шаблон для него.

Вместо:

1

2

3

...

Мне нужно вот так Ad-1-(mm)-(yy)

мм: текущий месяц (состоит из двух цифр), гг:текущий год (состоит из двух цифр), например

. Если я хочу создать записи в этом месяце, идентификатор должен выглядеть следующим образом:

Ad-1-10-19 (1-я запись)

Ad-2-10-19 (2-я запись)

Ad-3-10-19 (3-я запись) .......

Не могли бы вы посоветовать правильный подход к этому?

1 Ответ

1 голос
/ 28 октября 2019

Предполагая, что вы по-прежнему сохраняете целочисленный столбец идентификатора первичного ключа. Вы можете добавить функцию 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");
   }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...