چک کردن کلید اصلی تکراری در entity framework
سلام
وقتی با ado کار میکردیم با کد زیر از ثبت رکورد تکراری جلوگیری میکردیم
try
{
}
catch (SqlException ex)
{
switch (ex.Number)
{
case 2627:
MessageBox.Show("اين کد قبلا ثبت شده است");
break;
}
}
حالا در entity framework ب چ شکل هستش
ایا نمیشه از این روش استفاده کرد و باید قبل از درج بررسی کنیم که ایا رکوردی با این نام قبلا ثبت شده
نقل قول: چک کردن کلید اصلی تکراری در entity framework
using (var context = new EF6CodeFirstContext())
{
if(context.Students.Find(Searchid)!=null)
MessageBox.Show("اين کد قبلا ثبت شده است");
}
نقل قول: چک کردن کلید اصلی تکراری در entity framework
ممنون
ولی من مشکلم این نیست و این مورد را میدونم
سوالم اینه ک راهی به غیر اینکه قبل از درج کردن رکورد بیایم چک کنیم وجود داره یا نداره نیست
مثل کدی ک بالا گذاشتم
نقل قول: چک کردن کلید اصلی تکراری در entity framework
برای رکوردهای تکراری اصولا به جز Id (که کلید یکتایی برای رکورد در جدول هست)پراپرتی (هایی) دیگه ای رو هم مد نظر میگیرند(برای یکتایی بودن موجودیت) صرفا Id (هم بعنوان کلید یکتای رکورد در جدول و هم کلید یکتای موجودیت رو در نظر گرفتن کار اصولی نمیباشد)رو جستجو کردن ملاک درستی نیست.مثلا برای موجودیتی مثل دانشجو که دارای Id برای سطرهای جدول هست کد دانشجویی(کد یکتایی برای موجودیت دانشجو) هم بعنوان کلید در نظر میگرند.برای اشخاص کد ملی و .. شما هم بستگی به موجودیتی که داری صفت دیگه ایی رو بعنوان کلید یکتا موجودیت درنظر بگیر.وجواب سوال شما راهش بوسیله کد پست قبلی نه برای Id رکورد برای کلید موجودیت به آسانی میشه فهمید که مثلا کد ملی تکراری هست یا نه
نقل قول: چک کردن کلید اصلی تکراری در entity framework
من هم منظورم id نیست
همون شماره دانشجویی ک شما میگید خب
مثلا ی جدول داریم برای اطلاعات دانشجو ک فیلدهای شماره دانشجویی،نام،فامیلی و . . . را داراست
حالا وقتی میخوایم رکورد اضافه کنیم حتما باید اول چک کنیم ک شماره دانشجویی قبلا ثبت نشده است مثل کدی ک شما نوشتید
یا نه مثل بلاکی ک من گذاشتم میشه این کار را کرد
نقل قول: چک کردن کلید اصلی تکراری در entity framework
نقل قول: چک کردن کلید اصلی تکراری در entity framework
نقل قول:
نوشته شده توسط
aslan
لینک دوم شد ولی دیگه وقتی مقدار را عوض کردم بازم میگه تکراریه
لینک اول که اصلا نشد
فکر نکنم سوالم اینقدر سخت باشه
نقل قول: چک کردن کلید اصلی تکراری در entity framework
اصلا ادم وقتی میاد اینجا سوال مطرح میکنه از برنامه نویسی سیر میشه
ممنون از همه
نقل قول: چک کردن کلید اصلی تکراری در entity framework
نقل قول: چک کردن کلید اصلی تکراری در entity framework
دوست عزیز آیا شما یک جستجوی ساده براساس فیلدهای دیگر را میتوانید انجام دهید؟
منظورم یک تکست باکس داشته باشیم کاربر شماره دانشجویی را وارد کند و بعد گزینه جستجو را بزند در صورت وجود اطلاعات آنرا نمایش دهد ودرغیراینصورت پیام مناسب نمایش دهد
اگر همچین کاری را انجام میدهید میتوانید همان را قبل از دستورات درج رکورد بنویسید ودر بخشی که رکورد را پیدا کرده بجای نمایش اطلاعات آن رکورد از زیروال بیرون بیاید مانند return ویا اگه بیسیک کار میکنید exit sub یا exit function وحتی بخش در غیراینصورت هم نیاز نخواهید داشت!
نقل قول: چک کردن کلید اصلی تکراری در entity framework
بله ولی خواستم از بلاک try cach استفاده کنم
مشکل البته حل شد با لینکی که جناب aslan قرار دادند
یکم تغییر دادم کدها را حل شد
ممنون