আমি ঠিক একই সমস্যায় ফেটে পড়েছি এবং আমি নিম্নলিখিত সমাধানটি ব্যবহার করেছি (সমস্ত প্যাকেজ ম্যানেজার কনসোল থেকে)
PM> Enable-Migrations -MigrationsDirectory "Migrations\ContextA" -ContextTypeName MyProject.Models.ContextA
PM> Enable-Migrations -MigrationsDirectory "Migrations\ContextB" -ContextTypeName MyProject.Models.ContextB
এটি মাইগ্রেশন ফোল্ডারে 2 টি পৃথক ফোল্ডার তৈরি করবে। প্রতিটিতে উত্পন্ন Configuration.cs
ফাইল থাকবে। দুর্ভাগ্যক্রমে আপনাকে এখনও এই Configuration.cs
ফাইলগুলির নাম পরিবর্তন করতে হবে অন্যথায় তাদের মধ্যে দুটি থাকার অভিযোগ থাকবে। আমি আমার ফাইল পুনরায় নামকরণ ConfigA.cs
এবংConfigB.cs
সম্পাদনা : (সৌজন্যে কেভিন ম্যাকফিট) কনফিগারেশন.সি.এস ফাইলগুলির নামকরণের সময়, শ্রেণীর নাম এবং কনস্ট্রাক্টর / ইডিআইটি নামকরণও মনে রাখবেন
এই কাঠামো দিয়ে আপনি সহজভাবে করতে পারেন
PM> Add-Migration -ConfigurationTypeName ConfigA
PM> Add-Migration -ConfigurationTypeName ConfigB
যা কনফিগার ফাইলের পাশের ফোল্ডারের ভিতরে স্থানান্তরের জন্য কোড ফাইল তৈরি করবে (এই ফাইলগুলি একসাথে রাখা ভাল)
PM> Update-Database -ConfigurationTypeName ConfigA
PM> Update-Database -ConfigurationTypeName ConfigB
এবং সর্বশেষে তবে কমপক্ষে নয় এই দুটি কমান্ড তাদের কর্সপন্ডিং ডেটাবেসে সঠিক স্থানান্তর প্রয়োগ করবে।
সম্পাদনা 08 ফেব্রুয়ারী, 2016:
আমি EF7 সংস্করণ 7.0.0-rc1-16348 এর সাথে একটু পরীক্ষা করেছি
আমি কাজ করতে -o | - আউটপুটডির বিকল্পটি পেতে পারি না। এটা দেওয়া অব্যাহতMicrosoft.Dnx.Runtime.Common.Commandline.CommandParsingException: Unrecognized command or argument
তবে দেখে মনে হচ্ছে যে প্রথমবার কোনও মাইগ্রেশন যুক্ত হওয়ার পরে এটি মাইগ্রেশন ফোল্ডারে যুক্ত করা হয়েছে এবং পরবর্তী প্রসঙ্গে একটি পরবর্তী স্থানান্তর স্বয়ংক্রিয়ভাবে মাইগ্রেশনের সাবডোল্ডারের মধ্যে স্থাপন করা হবে।
মূল নাম ContextA
কিছু নামকরণ নিয়মাবলী লঙ্ঘন করেছে বলে তাই এখন আমি ব্যবহার মনে হয় ContextAContext
এবং ContextBContext
। এই নামগুলি ব্যবহার করে আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করতে পারেন: (নোট করুন যে আমার ডিএনএক্স এখনও প্যাকেজ ম্যানেজার কনসোল থেকে কাজ করে এবং মাইগ্রেশন করতে আমি একটি পৃথক সিএমডি উইন্ডো খুলতে পছন্দ করি না)
PM> dnx ef migrations add Initial -c "ContextAContext"
PM> dnx ef migrations add Initial -c "ContextBContext"
এটির Migrations
জন্য ফোল্ডারে একটি মডেল স্ন্যাপশট এবং প্রাথমিক মাইগ্রেশন তৈরি করবে ContextAContext
। এটি ContextB
এই ফাইলগুলির জন্য নামের একটি ফোল্ডার তৈরি করবেContextBContext
আমি ম্যানুয়ালি একটি ContextA
ফোল্ডার যুক্ত করেছি এবং মাইগ্রেশন ফাইলগুলি ContextAContext
সেই ফোল্ডারে স্থানান্তরিত করেছি । তারপরে আমি সেই ফাইলগুলির মধ্যে নেমস্পেসটির নামকরণ করেছি (স্ন্যাপশট ফাইল, প্রাথমিক মাইগ্রেশন এবং নোট করুন যে প্রাথমিক মাইগ্রেশন ফাইলের অধীনে একটি তৃতীয় ফাইল আছে ... ডিজাইনার। সি)। আমাকে .ContextA
নেমস্পেসে যুক্ত করতে হয়েছিল এবং সেখান থেকে ফ্রেমওয়ার্কটি আবার এটি স্বয়ংক্রিয়ভাবে পরিচালনা করে।
নিম্নলিখিত কমান্ডগুলি ব্যবহার করা প্রতিটি প্রসঙ্গে একটি নতুন স্থানান্তর তৈরি করবে
PM> dnx ef migrations add Update1 -c "ContextAContext"
PM> dnx ef migrations add Update1 -c "ContextBContext"
এবং উত্পন্ন ফাইলগুলি সঠিক ফোল্ডারে রেখে দেওয়া হয়।