نمایش نتایج 1 تا 12 از 12

نام تاپیک: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

  1. #1

    عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    سلام و خسته نباشید به تمام دوستان
    تغییراتی در بانک توسط entity انجام میدم ( اضافه حذف ویرایش ) و تغییرات صورت میگیره الیته نه روی بانک یعنی وقتی برنامه رو می بندم رکوردی اضافه و نه ویرایش و نه حذف شده
    کد اضافه کردن رکورد :

    ExampleDBEntities2 DB = new ExampleDBEntities2();


    Student Record = new Student
    {


    Id = Convert.ToInt16(txtID.Text),
    Name = txtName.Text,
    LastName = txtLName.Text


    };
    DB.Students.Add(Record);
    DB.SaveChanges();
    dataGridView1.DataSource = DB.Students.ToList();

    هرچی جستجو می کنم روشی برای حلش بیدا نمی کنم
    روش حلش چیست ؟
    بیشابیش ممنون
    آخرین ویرایش به وسیله محمد آشتیانی : پنج شنبه 27 فروردین 1394 در 00:42 صبح

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    نقل قول نوشته شده توسط Simorgh_94 مشاهده تاپیک
    سلام و خسته نباشید به تمام دوستان
    تغییراتی در بانک توسط entity انجام میدم ( اضافه حذف ویرایش ) و تغییرات صورت میگیره الیته نه روی بانک یعنی وقتی برنامه رو می بندم رکوردی اضافه و نه ویرایش و نه حذف شده
    کد اضافه کردن رکورد :

    ExampleDBEntities2 DB = new ExampleDBEntities2();


    Student Record = new Student
    {


    Id = Convert.ToInt16(txtID.Text),
    Name = txtName.Text,
    LastName = txtLName.Text


    };
    DB.Students.Add(Record);
    DB.SaveChanges();
    dataGridView1.DataSource = DB.Students.ToList();

    هرچی جستجو می کنم روشی برای حلش بیدا نمی کنم
    روش حلش چیست ؟
    بیشابیش ممنون
    سلام
    1. ساخت Context رو توی using انجام بده

    using ( var db = new ExampleDbEntities2() ){
    }

    2. در صورتی که Id شما Identity هست، بهش مقدار نده
    3. بجای Add باید از AddObject استفاده کنی

    db.Students.AddObject( student );



    4. سعی کن، ارتباط با دیتابیس و نمایش خروجی رو تو یه متد انجام ندی، و کم‌کم تمرین کنی که لایه‌ها رو از هم جدا کنی.

    صبا صبوحی

  3. #3

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    دوست عزیز ممنون برای باسخ اما دو نکته :
    1 : متد Addobject در نسخه های 2012 و 2013 به add تبدیل شده
    2 : using(){} استفاده کردم ولی رکوردی در بانک ذخیره نشده
    باز هم ممنون

    نکته : من از نسخه Visual Studio 2013 استفاده میکنم

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    نقل قول نوشته شده توسط Simorgh_94 مشاهده تاپیک
    دوست عزیز ممنون برای باسخ اما دو نکته :
    1 : متد Addobject در نسخه های 2012 و 2013 به add تبدیل شده
    2 : using(){} استفاده کردم ولی رکوردی در بانک ذخیره نشده
    باز هم ممنون

    نکته : من از نسخه Visual Studio 2013 استفاده میکنم
    سلام
    حق با شماست، البته ربطی به نسخه‌ی Vs نداره به نسخه‌ی EF مربوطه. من چون مجبورم بر اساس DotNetFramework 4.0 کد بنویسم ( که روی XP هم اجرا بشه ) عادت کردم به
    AddObject.

    کد شما به ظاهر کاملاً درسته. اگه وارد دیتابیس نشه، باید خطا بده که ظاهراً خطا هم نمی‌ده.
    پس گمان من بر این هست که مشکل شما Cache مربوط به EF باشه. که بجای خواندن مستقیم از دیتابیس، داره از Cache می‌خونه
    Property مربوط به Lazy Loading مربوط به ObjectContext خودتون رو false کنید. احتمالاً باید مشکل حل بشه.

    صبا صبوحی

  5. #5

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    پس گمان من بر این هست که مشکل شما Cache مربوط به EF باشه. که بجای خواندن مستقیم از دیتابیس، داره از Cache می‌خونه
    Property مربوط به Lazy Loading مربوط به ObjectContext خودتون رو false کنید. احتمالاً باید مشکل حل بشه.

    صبا صبوحی
    بیداش نمی کنم نمی دونم کجاست

  6. #6
    کاربر دائمی آواتار alibilgats
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    همین حوالی
    پست
    155

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    دوست عزیز بانک اطلاعاتی شما access هستش یا SQL ؟

  7. #7

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    نقل قول نوشته شده توسط alibilgats مشاهده تاپیک
    دوست عزیز بانک اطلاعاتی شما access هستش یا SQL ؟
    بانکی ک کار می کنم SQL هستش

    فکر می کنم طبق گفته ی خانوم صبا صبوحی مشکل از ذخیره نشدن cache موجود در entity بر روی بانک هست و اگر چنین مشکلی باشه سوال اینه ک چطور می شه chace رو بر روی بانک ذخیره کرد
    آخرین ویرایش به وسیله Simorgh_94 : جمعه 28 فروردین 1394 در 09:48 صبح

  8. #8
    کاربر دائمی آواتار mrprestige
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    کرج
    پست
    646

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    سلام و عرض ادب خدمت شما دوست عزیز ، در تایید فرمایشات جناب Sabouhi فکر میکنم شما یه قسمت کار رو اشتباه کردید اونم توی سه خط آخر فکر کنم به این شکل تغییرشون بدید درست بشه


    DB.Student.InsertOnSubmit(Record);
    DB.submitChanges();
    Datagridview1.dataSource=DB.Student;



    به همین سادگی اطلاعات شما داخل بانکتون ثبت میشه و در عین حال داخل دیتاگرید

    موفق باشید.

  9. #9

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    نقل قول نوشته شده توسط mrprestige مشاهده تاپیک

    DB.Student.InsertOnSubmit(Record);
    DB.submitChanges();
    Datagridview1.dataSource=DB.Student;


    به همین سادگی اطلاعات شما داخل بانکتون ثبت میشه و در عین حال داخل دیتاگرید

    موفق باشید.
    ممنون از باسخ دوستان
    دوست عزیز چنین متدی وجود نداره

  10. #10

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    کد هارو در نسخه ی 2010 بدون مشکل اجرا می کنم و رکورد به درستی در بانک ذخیره می شود ولی در نسخه ی 2013 رکورد در cache entity ذخیره می شود .
    البته امکان داره به نسخه ی استادیو مربوط نباشد , در نسخه ی جدید entity اطلاعات برای سریع لود شدن ابتدا در کش ذخیره شوند بعد در بانک .
    و سوال اینکه چه طور در نسخه ی جدید entity چگونه اطلاعات رو از کش به بانک انتقال بدیم ؟
    و ممنون از تمام دوستان

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    نقل قول نوشته شده توسط Simorgh_94 مشاهده تاپیک
    بیداش نمی کنم نمی دونم کجاست
    سلام
    emdx رو باز کن، در صفحه‌ی propertyها پیداش می‌کنی.

    صبا صبوحی

  12. #12

    نقل قول: عدم ثبت تغییرات در دیتابیس بوسیله Entity Framework

    سلام و خسته نباشین به تمام دوستان
    بعد از مدت ها توانستم مشکلمو بیدا کنم و حالا دلیل مشکل و رفعش رو میگم ک اگه برای کسی از دوستان چنین مشکلی بیش امد بتواند مشکلش را حل کند .
    اول از همه دلیل مشکل : ارطبات غلط entity با بانک اطلاعاتی => من بانک اطلاعاتی رو با خود استادیو درست و بعد به یک مدل entity ایجاد میکردم و مشکل هم ایجاد کردن بانک با استادیو بود
    و در اخر حل مشکل : بانک اطلاعاتی خودتان را با برنامه هایی مانند sql server microsoft ایجاد کنید و بعد یک مدل entity ایجاد کنید
    با تشکر از همه دوستان

تاپیک های مشابه

  1. مشکل تداخل بین proccess ها در ذخیره اطلاعات در جداول دیتابیس در Entity FrameWork
    نوشته شده توسط saeidgab در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 3
    آخرین پست: سه شنبه 08 مهر 1393, 21:26 عصر
  2. سوال: عدم ثبت اطلاعات در دیتابیس
    نوشته شده توسط omidh2007 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 2
    آخرین پست: چهارشنبه 06 اردیبهشت 1391, 00:17 صبح
  3. عدم ثبت تغییرات در sql2008
    نوشته شده توسط qqq2qqq در بخش SQL Server
    پاسخ: 1
    آخرین پست: دوشنبه 29 شهریور 1389, 17:07 عصر
  4. سوال: عدم ثبت اطلاعات در دیتابیس
    نوشته شده توسط Spate در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: شنبه 20 تیر 1388, 14:56 عصر
  5. عدم ثبت تغییرات دیتاست در دیتابیس
    نوشته شده توسط iman_s52 در بخش C#‎‎
    پاسخ: 10
    آخرین پست: چهارشنبه 28 آذر 1386, 00:43 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •