رفع خطای More than one context type was found in the assembly در Code First
جمعه 9 مرداد 1394در این مقاله با نحوه رفع خطای More than one context type was found in the assembly در هنگام Migration (مهاجرت) در Code First آشنا خواهید شد.
بارها شده است که در هنگام ساخت مدل به صورت CodeFirst نیاز به ویرایش و آپدیت مدل خود پیدا کرده اید. برای این کار لازم است که عملیات مهاجرت را انجام دهید. اگر با Migration یا مهاجرت در CodeFirst آشنایی ندارید بهتر است اینجا را مشاهده نمایید. ولی برای انجام این آپدیت ممکن است با مشکلاتی مواجه شده اید.
به مثال عملی زیر دقت نمایید.
یک پروژه از نوع MVC ایجاد می نماییم.
2 کلاس با نام های Info و Person می سازیم.
Person.cs
public class Person { public int PersonID { get; set; } public string PersonName { get; set; } public string personFamily { get; set; } public int PersonAge { get; set; } public Info infoes { get; set; } }
Info.cs
public class Info { public int InfoID { get; set; } public int PersonID { get; set; } public string InfoName { get; set; } public string PersonEmail { get; set; } public List<Person> Persons { get; set; } }
حالا اگر بخواهیم یک پروپرتی به یکی از مدل هایمان استفاده کنیم یا آپدیتی در مدل انجام دهیم به دلیل آنکه در Code First هستیم باید عملیات مهاجرت را انجام دهیم. برای این کار در ابتدا برای استفاده ازMigration در کد فرست باید Entity Framework را به پروژه اضافه کرد.
برای انجام این کار از منوی Tools گزینه ی Nuget Package Manager و سپس منوی داخلی Package Manager Console را انتخاب کرده و سپس در پنجره ظاهر شده رشته زیر را وارد می کنیم تا به پروژه فایل های EntityFramework اضافه شود.
Install-Package EntityFramework
حال پروژه ما آماده انجام عملیات Migration است.
کد زیر را وارد می نماییم.
Enable-Migrations
حال اگر با خطای زیر مواجه شدید. (این خطا هنگامی رخ می دهد که پروژه شما دارای چند Context باشد)
نگران نباشید کافی است به جای دستور بالا از دستور زیر استفاده نمایید:
Enable-Migrations -ContextTypeName SampleMigrate.Models.SampleMigrateContext
در اینجا SampleMigrate نام پروژه است و شما باید به جای آن نام پروژه خود را جایگزین آن نمایید.
سپس قادر خواهید بود عملیات بعدی مهاجرت را به راحتی انجام دهید.
- ASP.net MVC
- 1k بازدید
- 2 تشکر