گاهی در پروژه های Asp.Net MVC وضعیتی پیش می آید که نیاز به ایجاد کلید اصلی Primary Key با کد داریم. یعنی نیاز است که کلید اصلی را کاربر وارد کند، و یا اینکه خودمان با کد نویسی آن را ایجاد کنیم. تا مقدار کلید اصلی خود را بدانیم و در پروژه از آن استفاده کنیم. ایجاد کلید اصلی Primary Key با کد بسیار ساده میباشد و کافی است مراحل زیر را طی کنید.
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int UserId { get; set; }
برای ایجاد کلید اصلی باید ابتدا مقدار Max آی دی های وارد شده را بدست بیاوریم و یکی به آن اضافه کنیم، این مقدار میشود، مقدار کلید اصلی ما برای آن فیلد. ولی نکته ای که هست قبل از این کار باید برسی کنیم که آیا در جدول ما فیلدی وجود دارد تا مقدار Max آی دی آن را بدست بیاوریم یا خیر. چون اگر اولین فیلدی باشد که قرار است در جدول وارد شود مقداری وجود ندارد تا Max آن جساب شود پس باید مقدار ۱ بگیرد.
در کد های زیر هم برسی شده که آیا جدول ما خالی است یا خیر ؟ که اگر خالی باشد مقدار ۱ را به عنوان آی دی پاس میدهد و اگر هم جدول دارای فیلد هایی باشد مقدار Max آی دی را پیدا میکند و یکی به آن اضافه میکند و سپس آن را پاس میدهد.
int max = 1;
if (db.Users.ToList().Count != 0)
{
max = db.Users.Max(t => t.UserId) + 1;
}
user.UserId = max;
https://github.com/ahadian2/Generate-Primary-Key