انتقال اطلاعات Database در MVC

بسم الله الرحمن الرحیم

بسیاری از مواقع شما نیاز دارید اطلاعات درون پایگاه داد خود را به پایگاه داده دیگری انتقال دهید.

در مطلب تبدیل اطلاعات یک SQL Server به نسخه SQL Server پایین تر  نحوه انتقال اطلاعات را از یک نسخه جدید SQL Server به نسخه های قدیمی تر توضیح دادیم. در مطلب بالا توضیح دادیم چطور می توانید فقط اطلاعات و داده های درون پایگاه داده را بدون ساختار پایگاه داده (مانند کدهای تولید View,Table و...) انتخاب کنید.

آموزش انتقال اطلاعات Database در MVC

Migration

در پروژه های MVC جدولی با نام MigrationHistory__ ساخته می شود. اگر این Table را باز کنید  در آن اطلاعاتی را مشاهده خواهید که برای شما مفهومی ندارد! ساختار این Table به صورت زیر است.

فیلد MigrationId به همراه فیلد ContextKey کلید اصلی این جدول هستند.

به ازای هر تغییر بر روی Database (مانند اجرای دستور Update-database  و... که بر روی Database شما تغییر ایجاد می کند) مقدار فیلد MigrationId به همراه فیلد های Model تغییر خواهد کرد. به ازای هر تغییر یک عدد تولید شده که این عدد در فیلد MigrationId ثبت می شود و همچنین جزئیات تغییر صورت گرفته در فیلد Model ثبت می شود.

این تغییرات در فایل Migration ایی که در پروژه شما وجود دارد نیز ثبت می شود و در واقع اطلاعات درون پروژه شما با اطلاعات درون پایگاه داده با یکدیگر Sync هستند.

حال اگر شما اطلاعات درون پایگاه داده قبلی خود را به پایگاه داده جدیدی که ایجاد کرده اید انتقال دهید، برنامه شما در هنگام اجرا خطای زیر را نمایش خواهد داد.

 

The model backing the 'ContextDB' context has changed since the database was created.
Consider using Code First Migrations to update the database
(http://go.microsoft.com/fwlink/?LinkId=238269).

دلیل بروز این خطا متفاوت بودن نسخه ی Migration درون پروژه شما با پایگاه داده شما است، طبیعتا راه حل ساده این مشکل انتقال اطلاعات جدول Migration به پایگاه داده جدید است.

 

نظرات (۰)

هيچ نظري هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی