সত্তা ফ্রেমওয়ার্কে একটি সুস্পষ্ট স্থানান্তর উত্পন্ন করতে অক্ষম


96

আমি একটি নতুন স্থানান্তর যুক্ত করছি তবে এই বার্তাটি দেখায়:

একটি সুস্পষ্ট স্থানান্তর উত্পন্ন করতে অক্ষম কারণ নিম্নলিখিত সুস্পষ্ট স্থানান্তরগুলি মুলতুবি রয়েছে: [201203170856167_ বাম]। একটি নতুন স্পষ্ট স্থানান্তর উত্পন্ন করার চেষ্টা করার আগে মুলতুবি সুস্পষ্ট মাইগ্রেশন প্রয়োগ করুন।

আমাকে কি কেউ সাহায্য করতে পারবেন?


11
আমার সাথে এটি ঘটেছিল যখন আমি ঘটনাক্রমে আমার সূচনা প্রকল্পটি অন্য কোনওটিতে পরিবর্তন করেছিলাম। আপনি (বা অন্যরা এটি পড়ছেন) গভীরতার সমস্যার শুটিংয়ের আরও কিছু চেষ্টা করার আগে তা পরীক্ষা করে দেখতে চাইতে পারেন (বিশেষত যেখানে আপনাকে মাইগ্রেশন এবং এ জাতীয় মুছতে শুরু করতে হবে)।
NicholasFolk

মাইগ্রেশন ডিরেক্টরিতে একটি মাইগ্রেশন ক্লাস রয়েছে যা ডেটাবেসের _MigrationHistory এ আপডেট হয় না। অভিবাসন ডিরেক্টরি এবং ডাটাবেস উভয় ক্ষেত্রেই সেই শ্রেণি থেকে এই শ্রেণিটি সরানো আমার সমস্যার সমাধান করেছে।
আর্যান ফিরোজিয়ান

4
আমার সাথে এলোমেলোভাবে ঘটে। এটি যখন ঘটে তখন এটি দেখায় যে আমার সমস্ত মাইগ্রেশন প্রয়োগ করা দরকার। এটি কাজ করতে আমাকে ভিজ্যুয়াল স্টুডিও পুনরায় চালু করতে হবে কারণ আমার কাছে ইতিমধ্যে সবকিছু ঠিকঠাকভাবে সেট আপ হয়েছে।
ল্যারি ফ্লাইওয়েলিং

উত্তর:


82

এটি আপনাকে বলে যে আপনার অ্যাপ্লিকেশনটিতে কিছু অপসারণিত মাইগ্রেশন রয়েছে এবং আপনার Update-Databaseঅন্য কোনও স্থানান্তর যুক্ত করার আগে এটির চলমান দরকার ।


12
আপনি কি প্রাথমিক মাইগ্রেশনটি পুনরায় তৈরি করতে চান? এটি কি আপনাকে বাধা দেয়?
রেবেকা

আমার পক্ষে কাজ করেনি, আপডেট-ডাটাবেস আমাকে আরও একটি ত্রুটি দিয়েছে। আমাকে প্রথমে মুলতুবি থাকা ফাইলগুলি মুছতে হয়েছিল।
Vahx

4
থমাসের উত্তরটি আমার অনুরূপ মামলার জন্য দরকারী।
তারেক শাওয়াদফাই

4
কোনও স্টার্টআপ-প্রজেক্ট ঘোষণা করা প্রয়োজনীয় হয়ে -StartupProject ContentHub.Database
উঠতে পারে

4
Update-Databaseদেয়> বর্তমান মডেলটির সাথে মেলে ডাটাবেস আপডেট করতে অক্ষম কারণ সেখানে পরিবর্তনগুলি মুলতুবি রয়েছে
এএসপিরিন

54

আমারও একই সমস্যা ছিল। দৃশ্যত সত্তা কাঠামোটি এই ত্রুটিটি উত্পন্ন করে যখন এটি ডাটাবেসে সংযোগ করতে অক্ষম। সুতরাং নিশ্চিত হয়ে নিন যে আপনি অন্যান্য সমস্যার সন্ধানের আগে এটি অ্যাক্সেস করতে সক্ষম হয়েছেন।


4
আমি আরও যুক্ত করব যে আপনি যখন আপনার অ্যাপকনফিগটিকে অন্য প্রকল্পে নিয়ে যান বা এটি যদি আপনার প্রকল্পে সাদামাটা অনুপস্থিত বা এটি যদি আপনার প্রকল্পে থাকে তবে ভুলভাবে কনফিগার করা থাকে তখন এটিই ঘটবে।
কোড ম্যাভেরিক

আমার আইপি পরিবর্তনের পরে আমি একই ত্রুটি পেয়েছি (অবস্থান স্যুইচ করার পরে এবং ডিন ডিএনএস পরিবর্তনের পরে উভয়ই ঘটেছে)। এটি লগইন প্রত্যাহার করতে আমরা ব্যবহার করছি আজুর ডেটাবেসগুলিতে ফায়ারওয়ালের কারণে। অসহায়ভাবে EF মাইগ্রেশনগুলি "লগ ইন করতে পারে না" এর পরিবর্তে উপরের ত্রুটিটি দেয় ...
ভিক্টর

8
আমি আর একটি বিষয় তৈরি করতে চাই তা নিশ্চিত করা আপনার প্রারম্ভিক প্রকল্পটি আপনার ডিবি প্রসঙ্গে সংযোগের স্ট্রিংয়ের সাথে একটি। আমি যখন অস্থায়ীভাবে আমার স্টার্টআপ প্রকল্পটি পরিবর্তন করেছিলাম এবং বুঝতে পারি না যে অন্য প্রকল্পের একই সংযোগের স্ট্রিং নেই I
গেজ ট্রেডার 21

@ গেজট্রেডার যুক্ত করা: আমার একাধিক স্টার্টআপ প্রকল্প ছিল, একটি কনফিগারেশন নেই এবং ইএফ-কনফিগারেশনের সাথে ওয়েব প্রকল্প ছিল। মাইগ্রেশন সহ (সংগ্রহশালা) প্রকল্পটির ওয়েব অ্যাপ্লিকেশনটির মতো তার অ্যাপ.config এ একই EF কনফিগারেশন রয়েছে। এমনকি যখন আমি স্টোরআপ প্রকল্প হিসাবে সংগ্রহস্থল প্রকল্পটি বেছে নিয়েছিলাম তখন এটি কাজ করে না, তবে আমি যখন ওয়েব প্রকল্পটি চালু করার জন্য সেট করি তখন তা হয়ে যায়।
জিমি সুইডেন

আমাকে স্পষ্টভাবে-কানেকশন স্ট্রিং প্যারামিটারটি বলতে হয়েছিল, যা আমার পক্ষে কৌশলটি করেছে
ব্রায়ান কোলাভিটো

34

আপনার প্রয়োজন হয় প্যাকেজ ম্যানেজার কনসোল থেকে "আপডেট-ডাটাবেস" চালানো দরকার ডাটাবেসে আপনার পরিবর্তনগুলি ধাক্কা দেওয়ার জন্য বা আপনার মাইগ্রেশন ফোল্ডার থেকে মুলতুবি থাকা মাইগ্রেশন ফাইল ([201203170856167_left]) মুছে ফেলতে এবং তারপরে "অ্যাড-মাইগ্রেশন" পুনরায় রান করতে হবে আপনার সম্পাদনাগুলির ভিত্তিতে একটি নতুন মাইগ্রেশন তৈরি করুন।


4
আমি মাইগ্রেশন ফাইলটি মুছলাম এবং অ্যাড-মাইগ্রেশন চালিয়েছি, তবে এটি এখনও একই ত্রুটি দেয়।
নিউ এভারেস্ট

4
ধন্যবাদ, মুলতুবি থাকা মাইগ্রেশন ফাইলটি মোছার বিষয়ে টিপটি একটি জীবনকাল ছিল
মনীশ

32

এই ত্রুটির অর্থ এইও হতে পারে যে মাইগ্রেশনগুলি আর স্বীকৃত নয়। মাইগ্রেশনস কনফিগারেশন-এ কনটেক্সট-এর মান পরিবর্তন করার পরে আমার সাথে এটি ঘটেছিল। সমাধানটি কেবল ডাটাবেস সারণীতে কনটেক্সটকে আপডেট করা ছিল "__MigrationHistory" (অথবা আমার ধারণা অনুসারে কনফিগারেশন শ্রেণিতে মানটি ফিরিয়ে দেওয়া)। আপনার অ্যাপ্লিকেশনে কনটেক্সটকি এবং নেমস্পেসের মিল থাকা উচিত।


4
এটাই ছিল আমার মামলার সঠিক উত্তর। আমি যেমন একটি নতুন অনুরূপ প্রকল্পের জন্য আমার পুরানো প্রকল্পগুলির একটি ব্যবহার করেছি, আমি পুরানো মাইগ্রেশনগুলির তুলনায় ডিবিতে পরিবর্তন করতে সক্ষম হইনি। থমাসের পরামর্শ অনুসারে, নাম স্থানটি স্থানান্তর _ হিজিরি টেবিলের কনটেক্সটিকে থেকে অভিবাসনে আলাদা ছিল, যার ফলে পুরানো মাইগ্রেশনকে স্বীকৃতি দেওয়া হয়নি।
তারেক শাওয়াদফাই

4
এটি আমাকে সহায়তা করেছে কারণ আমি সমাধানটির নাম পরিবর্তন করে সমস্যার সৃষ্টি করেছি। প্রক্রিয়াতে আমি কনটেক্সটিকে নতুন নামকরণ করেছি যাতে এটি আর _MigrationHistory এন্ট্রিগুলির সাথে মেলে না।
জোয়েল

আমার জন্যও কাজ করেছে, কনফিগারেশনে একটি সুস্পষ্ট প্রসঙ্গ কী সেট করুন, এটিকে __MigrationHistory এ পরিবর্তন করেছেন এবং আপডেট-ডাটাবেস সিদ্ধান্ত নিয়েছে যে সবকিছু দুর্দান্ত ছিল। ধন্যবাদ!
জেমস হোয়াইট

4
হাস্যকর, তবে এটা ঠিক। যদি আপনি প্রকল্পের নাম আপডেট করেন, বা আপনি যদি প্রকল্প (আমার কেস) কে কয়েকটি হিসাবে বিভক্ত করেন এবং আপনি নতুন প্রকল্প থেকে একই ডিবিতে নতুন মাইগ্রেশন যুক্ত করার চেষ্টা করছেন, আপনাকে সঠিক কনটেক্সটকি ব্যবহার করতে হবে, আপনি এটি কনফিগারেশন কনস্ট্রাক্টারে সেট করতে পারেন ( টার্গেট ডিবিতে আপনি __MigrationHistory টেবিলটিতে থাকা কনটেক্সট কীটি ব্যবহার করতে হবে
বোটানম্যান

এখানে একই, আমি আমার ডিফল্ট নাম স্থানটির নাম পরিবর্তন করেছি এবং আমার সমাধান জুড়ে এটি প্রতিস্থাপন করেছি যা এই সমস্যাটি সৃষ্টি করেছে
WtFudgE

20

1. সংযোগ স্ট্রিং / সংযোগ অনুমতি

আবার সংযোগের স্ট্রিং পরীক্ষা করুন।

নিশ্চিত হয়ে নিন যে আপনি যার সাথে সংযুক্ত রয়েছেন তার এখনও পড়ার [__MigrationHistory]অনুমতি রয়েছে এবং স্কিমা সম্পাদনা করার অনুমতি তাঁর রয়েছে।

আপনি নিজের মতো করে অ্যাড-মাইগ্রেশন কমান্ড চালানোর জন্য ইন্টিগ্রেটেড সিকিউরিটি (উইন্ডোজ এথ) ব্যবহার করতে অ্যাপ বা ওয়েব কনফিগারেশন ফাইলটিতে সংযোগের স্ট্রিং পরিবর্তন করার চেষ্টা করতে পারেন ।

উদাহরণ স্বরূপ:

connectionString="data source=server;initial catalog=db;persist security info=True;Integrated Security=SSPI;" 

এই সংযোগের স্ট্রিংটি প্রকল্পের অ্যাপকনফাইগ ফাইলে যাবে যেখানে ডিবি কনটেক্সট রয়েছে।

2. স্টার্টআপ প্রকল্প

কমান্ড লাইনে বিভিন্ন প্রারম্ভ প্রকল্পের নির্দিষ্ট করতে পারেন অথবা আপনি সাথে প্রকল্পের ক্লিক করতে পারেন DbContext, Configurationএবং ফোল্ডার স্থানান্তরণ নির্বাচন প্রারম্ভ প্রকল্প হিসেবে সেট করুন । আমি গুরুতর, এটি আসলে সহায়তা করতে পারে।

এখানে চিত্র বর্ণনা লিখুন


হা হা। আমি আশা করি এটি আরও বেশি ভোট পাবে। এটি আমার সাথে অনেক কিছু ঘটে এবং Integrated Securityসমাধানটি দুর্দান্ত কাজ করে!
জেস

4
আমার একই সমস্যা ছিল, মাইগ্রেশন আদেশের কোনওটিই কাজ করে না। প্রারম্ভিক প্রকল্পটি সেট না করা সারণীতে অপরাধী ছিল। সেট করা যে আমার সমস্যা স্থির।
বিশাল

স্টার্টআপ প্রকল্পটি পরিবর্তন করা আমার পক্ষে কাজ করেছিল! আমি নিশ্চিত যে এটি কাজ করবে না তবে অন্য যে কোনও কিছু ব্যর্থ হওয়ায় আমি যাইহোক এটি চেষ্টা করেছিলাম। দুর্দান্ত উত্তর।
সিলভাইন রড্রিগ

"স্টার্টআপ হিসাবে সেট করুন" - কখনও অনুমান করা হত না ! ধন্যবাদ!!
জেসেল

4
হ্যাঁ, আমি ইচ্ছাকৃতভাবে প্রারম্ভিক প্রকল্পটি পরিবর্তন করেছি এবং এটিকে আবার পরিবর্তন করতে ভুলে গিয়েছি। এবং মজার বিষয় হচ্ছে, এর আগে একটি মাইগ্রেশন যথাযথ সূচনা প্রকল্পের সাথে সম্পন্ন হয়েছিল, তাই সবকিছু ঠিকঠাক কাজ করেছিল। তবে এটি এখন যৌক্তিক - খ / সি ইএফ প্রকল্প থেকে সংযোগের স্ট্রিং নেয়, সুতরাং এটি "জানেন না" যে মাইগ্রেশনগুলি বাস্তবে ডিবিতে ইতিমধ্যে প্রয়োগ হয়েছিল ...
kosist

8

একই সমস্যা ছিল এবং উপরের উত্তরগুলি থেকে কিছু ইঙ্গিত দিয়ে সমাধান করতে সক্ষম হয়েছিল:

  • প্যাকেজ ম্যানেজার কনসোলে ডিফল্ট প্রকল্পটি পরীক্ষা করুন (মাইগ্রেশন কনফিগারেশন সহ প্রকল্পের দিকে নির্দেশ করুন)
  • স্টার্টআপ-প্রজটিতে একটি বৈধ কানেকশনস্ট্রিং (বা।) এর সাথে একটি ওয়েবকনফিগ রয়েছে তা নিশ্চিত করুন
  • মাইগ্রেশন সহ প্রকল্পটি একটি বৈধ কানেকশনস্ট্রিং সহ একটি app.config / web.config রয়েছে তা নিশ্চিত করুন
  • ডিবিতে অনুমতিগুলি পরীক্ষা করুন (আপনার সংযোগকারীতে কনফিগার করা ব্যবহারকারীর জন্য)

মাইগ্রেশনগুলির সাথে সংযোগ স্থাপনের চেষ্টা করা হয় এমন আরও সুনির্দিষ্ট তথ্য পেতে প্যাকেজ ম্যানেজার কনসোলে "আপডেট-ডাটাবেস -ভারবোস" ব্যবহার করুন। (আমার প্রারম্ভিক প্রকল্পটি সঠিকভাবে সেট করা হয়নি তা জানতে আমার ক্ষেত্রে সহায়তা করা ...)


4
"আপডেট-ডাটাবেস -verbose" চালিত এবং লক্ষ্য করে যে আমার সংযোগের স্ট্রিং ভেঙে গেছে, হ্যাঁ। সুতরাং অ্যাড-মাইগ্রেশন কমান্ডটি ভুল বার্তা দেয়।
ওয়াচবার্ন

4
"স্টার্টআপ-প্রজেক্টটি নিশ্চিত করুন {...}" আমার সমস্যার সমাধান করেছে। ধন্যবাদ @ ফ্লেক্স
অ্যান্ডি স্মিট

7

আপনি যদি ব্যবহার না করেন তবে আপনি Update-Databaseএটি মুছতে পারেন। আপনি যদি আপডেট চালনা করেন তবে এটি ব্যবহার করে আবার রোল করুন Update-Database -TargetMigration "NameOfPreviousMigration", তারপরে এটি মুছুন।

তথ্যসূত্র: http://elegantcode.com/2012/04/12/entity-framework-migration-tips/

আমি এই লেখাটি সরাসরি এখান থেকে অনুলিপি করেছি: আমি কীভাবে সর্বশেষ অ্যাড-মাইগ্রেশন আদেশটি বাতিল করব?


7

এই সমস্যাটিতে চলার সময়, দয়া করে আপনার অ্যাড-মাইগ্রেশন সেমিডলেটটিতে পরামিতি যুক্ত করার চেষ্টা করুন। উদাহরণস্বরূপ, প্রারম্ভিক প্রকল্পটি নির্দিষ্ট করার সাথে সাথে সংযোগের স্ট্রিংয়ের নাম EF কে আপনার টার্গেট ডাটাবেসটি খুঁজে পেতে সহায়তা করতে পারে।

add-migration Delta_Defect_0973 -ConfigurationTypeName your.namespace.ContextClassName -StartUpProject DeltaProject -ConnectionStringName DeltaSQL

কোথায়:

ডেল্টা_ডেফেক্ট_0973 আপনার স্থানান্তরের নাম

your.namespace.ContextClassName আপনার মাইগ্রেশন ফোল্ডারে আপনার কনফিগারেশন ক্লাসের নাম, পুরো নাম জায়গার সাথে উপসর্গযুক্ত।

ডেল্টাপ্রজেক্টটি আপনার ওয়েব কোডফাইগ বা অ্যাপকনফাইগ ফাইল সহ আপনার মূল প্রকল্পের নাম।

ডেল্টা এসকিউএল আপনার ওয়েব কোডফাইগ বা অ্যাপকনফাইগ ফাইলে সংজ্ঞায়িত আপনার সংযোগের স্ট্রিংয়ের নাম।


ধন্যবাদ এটি সত্যিই আমাকে সাহায্য করেছিল।
জেস

এছাড়াও, আপনি যদি নিজের সমাধানটিতে নির্ভরতা ইনজেকশন ব্যবহার করছেন, আপনাকে প্যাকেজ ম্যানেজার কনসোলে একটি আলাদা ডিফল্ট প্রকল্প নির্বাচন করতে হতে পারে। যদি EF আপনার মাইগ্রেশন সনাক্ত করতে অক্ষম হয় তবে প্রকৃতপক্ষে যে প্রকল্পটি মাইগ্রেশনগুলিকে ডিফল্ট প্রকল্প হিসাবে অন্তর্ভুক্ত রয়েছে তা নির্বাচন করে দেখুন
ইয়ভেস রচন

5

এই ত্রুটিটির অর্থ হ'ল এখানে অপেক্ষারত মাইগ্রেশনগুলি আরও স্পষ্টভাবে অন্য কোনও মাইগ্রেশন সম্পাদন করার আগে কমিট করা দরকার। আপনি চয়ন করতে পারেন

  1. আপডেট-ডেটাবেস কমান্ড ব্যবহার করে those মুলতুবি থাকাগুলি স্থগিত করুন
  2. মুলতুবি থাকা এই মাইগ্রেশন মুছুন। নিরাপদ উপায় হ'ল মাইগ্রেশন ফোল্ডারটি খোলে, [201203170856167_left]> প্রকল্পটি বাদ দিন

এর পরে আপনি আবার "অ্যাড-মাইগ্রেশন ..." শুরু করতে পারেন

আশা করি এটা সাহায্য করবে


4

শুধু আমার দুটি সেন্ট:

আমার দৃশ্য:

  1. আমি আমার স্থানীয় ডাটাবেসকে একটি কার্যক্ষম অবস্থায় পুনরুদ্ধার করেছি।
  2. ইতিমধ্যে মাইগ্রেশন এটি প্রয়োগ করা হয়েছে।
  3. যখনই আমি একটি নতুন মাইগ্রেশন যুক্ত করার চেষ্টা করেছি তখন আমার ওপিতে উল্লিখিত মাইগ্রেশন সম্পর্কে মীমাংসা সম্পর্কে ত্রুটি পেয়েছি।

সমাধান:

এটি পেতে আমি কেবল আরও স্পষ্ট প্যারামিটার সরবরাহ করেছি:

Add-Migration -ConnectionString "Server=localhost\SQLEXPRESS;Database=YourDataBase;Trusted_Connection=True;" -ConnectionProviderName "System.Data.SqlClient" -verbose

আমি বিশ্বাস করতে নেতৃত্ব দিচ্ছি যে আপনি এই আচরণটি ডিফল্ট করার অনুমতি দেওয়ার জন্য আপনি আপনার app.config ফোল্ডারে একটি সেটিংস সেট করতে পারেন যাতে আপনাকে প্রতিবার সুস্পষ্ট পরামিতি সরবরাহ করতে হবে না। তবে আমি কীভাবে এটি করব তা সম্পর্কে নিশ্চিত নই।


4
এটি আমার পক্ষে কাজ করেছে, আমি উপরের দেখানো কমান্ডের শেষে মাইগ্রেশনটির নামটি যুক্ত করেছি।
সিফার্স বলছেন মনিকা

4
=) - খুশি আমি সাহায্য করতে পারে।
ইব্রাহার মমতাজ

4
-ConnectionStringName
এটির

4
এটি আমাকে সহায়তা করেছিল কারণ আমি কনফিগারেশন ফাইলটিতে সংযোগের স্ট্রিং সংরক্ষণ করছি না
স্যাসিনোসফট

3

একটি অস্পষ্টতা এবং তাই ত্রুটি আছে। সর্বোত্তম উপায় হ'ল বর্তমান মাইগ্রেশন ফাইলটি বাদ দিয়ে নতুন মাইগ্রেশন ( অ্যাড-মাইগ্রেশন ) ফাইল তৈরি করা এবং তারপরে নতুন মাইগ্রেশনের বিষয়বস্তু বাদ দেওয়া ফাইলটিতে অনুলিপি করা এবং এটি আবার অন্তর্ভুক্ত করা এবং আপডেট-ডাটাবেস কমান্ড চালানো ।


আমি ঠিক update-databaseতখনই add-migrationকমান্ডটি
চালিয়েছি

3

আমি একই সমস্যাটি সমাধান করেছি:

  • পুরানো মাইগ্রেশন ফাইল মুছুন
  • আপডেট-ডাটাবেস-বল
  • অ্যাড-মাইগ্রেশন অ্যাডেড এন্টিটি
  • আপডেট ডাটাবেস

1

আমার একই সমস্যা ছিল এবং এটি কেবল অ্যাড-মাইগ্রেশন 'মাইগ্রেশননেম' -ফোরেশনে চলার সমাধান করতে সক্ষম হয়েছিল

-ফর্স গুরুত্বপূর্ণ অংশ হচ্ছে।


1

আমার স্থানীয় ডাটাবেসে __MigrationHistoryজনবহুল বা বিদ্যমান ছিল না। আমি ম্যানুয়ালি টেবিলটি তৈরি করেছি এবং তারপরে সেই টেবিলে থাকা ডেটাটি পিআরডি থেকে আমার স্থানীয় ডাটাবেসে স্থানান্তরিত করেছি। এটি ভিএসকে মনে করে যে স্থানান্তরগুলি প্রয়োগ করা হয়েছে (যা তারা হয়েছিল)।


আমার একই সমস্যা ছিল, আমি আমার লাইভ ডিবিটিকে উত্পাদনে একীভূত করলাম তবে মাইগ্রেশন ইতিহাস হারিয়ে গেল।
ম্যাথ ম্যাথ

1

পরামর্শ:-Script আপনি যদি নিশ্চিত না হন তবে মাইগ্রেশন কমান্ডগুলির জন্য স্যুইচটি ব্যবহার করা সর্বদা ভাল । এটি Update-Databaseপ্রকৃতপক্ষে কী করে তা বুঝতে সহায়তা করে।

আমি ডাটাবেস আপডেট করার জন্য নিম্নলিখিতগুলি চালিত করি, তারপরে আমি একটি স্ক্রিপ্ট পেয়েছি যা আমি ম্যানুয়ালি প্রয়োগ করতে পারি (বা -স্ক্রিপ্ট ট্যাগ ছাড়াই এটি আবার চালাতে পারি)।

Update-Databaseআমি নিম্নলিখিত চালাতে হবে জন্য :

Update-Database -Script -ConfigurationTypeName Configuration_ASPNETIdentity -ConnectionStringName SQL_AzureLive

SQL_AzureLiveআমার কনফিগারে নামযুক্ত সংযোগের স্ট্রিংটি কোথায় ।

তারপরে আমি এসকিউএলকে ঠিক মতো যাচাই করতে পারি, এটি প্রয়োগ করে শেষ হয়ে যেতে পারি। অন্য অনেকে যেমন বলেছেন যে সংযোগের স্ট্রিংটি ভুল বা অবৈধ তবে আপনি এই ত্রুটিটি পেয়ে যাবেন।


1

আমার জন্য, আমি মাইগ্রেশন ফাইলটি মুছে ফেলা করেছি (আপনার ক্ষেত্রে "201203170856167_left") Migrationsফোল্ডার থেকে এবং তারপরে প্যাকেজ ম্যানেজার কনসোলে নীচের কমান্ডটি চালিয়েছি

Add-Migration <Parameter>
Update-Database

0

পরিস্থিতি

  • আমি একটি শাখায় কাজ করছি যেখানে আমি একটি নতুন ডিবি স্থানান্তর তৈরি করেছি।
  • আমি মাস্টার থেকে আপডেট করতে প্রস্তুত, কিন্তু মাস্টারের একটি সাম্প্রতিক ডিবি স্থানান্তরও রয়েছে।
  • দ্বন্দ্ব রোধ করতে আমি আমার শাখার ডিবি স্থানান্তর মুছলাম।
  • আমি "মাস্টার থেকে আপডেট"।

সমস্যা

মাস্টার থেকে আপডেট করার পরে, আমি "অ্যাড-মাইগ্রেশন আমার_ইমিগ্রেশন_নাম" চালাই, তবে নিম্নলিখিত ত্রুটিটি পেয়েছি:

একটি সুস্পষ্ট স্থানান্তর উত্পন্ন করতে অক্ষম কারণ নিম্নলিখিত সুস্পষ্ট স্থানান্তরগুলি মুলতুবি রয়েছে: [201607181944091_AddExternEmailActivity]। একটি নতুন স্পষ্ট স্থানান্তর উত্পন্ন করার চেষ্টা করার আগে মুলতুবি সুস্পষ্ট মাইগ্রেশন প্রয়োগ করুন।

সুতরাং, আমি "আপডেট-ডেটাবেস" চালাচ্ছি এবং নিম্নলিখিত ত্রুটিটি পেয়েছি:

বর্তমানের মডেলটির সাথে মেলে ডাটাবেস আপডেট করতে অক্ষম কারণ সেখানে মুলতুবি পরিবর্তন রয়েছে এবং স্বয়ংক্রিয়ভাবে স্থানান্তর অক্ষম is

সমাধান

এই সময়ে "অ্যাড-মাইগ্রেশন আমার_ইমিগ্রেশন_নাম" পুনরায় চলমান আমার সমস্যার সমাধান করেছে। আমার তত্ত্বটি হ'ল "আপডেট-ডেটাবেস" চালানোর ফলে "অ্যাড-মাইগ্রেশন" কাজ করার জন্য প্রয়োজনীয় সমস্ত কিছু সেই রাজ্যে পেয়েছিল।


0

আমিও এই বিষয়টি নিয়ে এসেছি। এটি তখনই এসেছিল যখন আমি নতুন ডিবি তৈরি করেছি এবং আমার কোড-প্রথম ডিবি স্থানান্তরের জন্য আমার জন্য মুলতুবি পরিবর্তন রয়েছে তখন আমি "আপডেট-ডেটাবেস" কমান্ড চালানোর চেষ্টা করেছি। সমাধান: নতুন ডিবি-র জন্য নতুন স্থানান্তর তৈরি করতে "অ্যাড-মাইগ্রেশন-মাইগ্রেশননাম" কমান্ডটি চালান। তারপরে "আপডেট-ডাটাবেস" কমান্ডটি চালান।


0

অ্যাড-মাইগ্রেশন চালানোর সময় আমি জানতাম যে একটি ডেটাবেসেই আমি আপ টু ডেট ছিল for কেবলমাত্র দ্বিতীয় বার অ্যাড-মাইগ্রেশন কমান্ড চালিয়ে সমাধান করা। উপরের রবিন ডোরবেলের পরামর্শ অনুসারে কোনও সংযোগ সমস্যা সম্পর্কিত সন্দেহ করুন।


আমার দৃশ্যে কমান্ডটি চালানোর সময় ডাটাবেসের নামটি কেস সেনসিটিভ ছিল। যত তাড়াতাড়ি সংযোগস্থলটি ডিবিতে ছিল ঠিক ঠিক
তেমনই তৈরি হয়েছে

0

এটি হ'ল যখন আমি হঠাৎ করে ডিবিতে বিদ্যমান পুরানো মাইগ্রেশনের শ্রেণীর নামকরণ করি। আমি ভিসিএসের ইতিহাস পরীক্ষা করেছিলাম, এটি নির্ধারণ করে আবার নামকরণ করেছি। সব পরে কাজ।


0

আমি অন্যভাবে করেছি। আমি পুরোপুরি ডাটাবেস ফেলে দিয়েছিলাম এবং আবার ভার্সেসে "আপডেট-ডাটাবেস" চালাচ্ছি


এটি একটি কার্যকর স্থিরতা সরবরাহ করে না; বৈধ স্থানান্তর বিদ্যমান কাঠামো ধরে রাখে।
ফেরডিপাক্স

0

আমি একটি সহজ সমস্যা ছিল। আমার ওয়ার্কস্টেশনে সংযুক্ত কোনও ক্লায়েন্টের সাইটের সাথে আমার ভিপিএন সংযোগ ছিল তখন ভিএস ভুল করে এই ত্রুটিটি জানিয়েছিল। সমস্যাটি ছিল যে ডিবিএমএস সুরক্ষাটি কেবলমাত্র আমার আসল স্থানীয় আইপি থেকে অনুরোধগুলি গ্রহণ করতে সেট করা হয়েছিল। কেবল ভিপিএন বন্ধ করে দেওয়া সমস্যার সমাধান করেছে।


0

আমার ক্ষেত্রে, আমি আজুরের ফায়ারওয়াল বিধিগুলিতে আমার আইপি ঠিকানা যুক্ত করতে ভুলে গেছি, মূলত যেহেতু আমি এই ত্রুটিটি পেয়েছিলাম ডাটাবেসের সাথে সংযোগ করতে পারছিলাম না। সুতরাং বিশেষত আমার ক্ষেত্রে, আমি আমার আইপি ঠিকানা অ্যাজুরে ডেটাবেস ফায়ারওয়াল নিয়মে যুক্ত করেছি এবং এটি সব ভালভাবে কাজ করেছে। এগুলি ছাড়াও, এটি প্রক্সি / ইন্টারনেট সংযোগ / ডিবি ব্যবহারকারীর পাসওয়ার্ড / ডিবি সংযোগের স্ট্রিং ইত্যাদির সমস্যা হতে পারে বা সম্ভবত আপনার আপত্তি মুলতুবি থাকতে পারে যার জন্য আপনাকে আপডেট-ডেটাবেস কমান্ড চালানো দরকার।


0

Orতিহাসিকভাবে আমি সর্বদা মুলতুবি থাকা মাইগ্রেশনগুলি মুছে ফেলার মাধ্যমে এটি সমাধান করেছি, বা যদি সেখানে কেবল 1 জন অবশিষ্ট থাকে এবং এটি -fপুনরায় তৈরি করে ব্যবহার করে এটি বেশিরভাগই পছন্দসই হয় ।

সম্প্রতি, এটি আমার পক্ষে কাজ করা বন্ধ করে দিয়েছে।

যখন এটি প্রথমবার হয়েছিল, আমি ভিজ্যুয়াল স্টুডিও পুনরায় চালু করেছি এবং তারপরে এটি আমাকে এগিয়ে যেতে দেয়।

দ্বিতীয়বার, আমি কেবলমাত্র প্রকল্পটিতে ক্লিন চালানোর পরে এটি কাজ করেছিল। এটি প্রায় এমন ছিল যেন এক্সপ্লোরার থেকে সমস্ত ফাইল মুছে ফেলা সত্ত্বেও মুলতুবি থাকা মাইগ্রেশনগুলি ধরে রাখা হয়েছিল।


0

এটি অনেক লোকের পক্ষে উত্তর হতে পারে না, তবে ডিবিতে সংযোগ স্থাপন করতে না পারলে ইএফ এই ত্রুটিটি ছিন্ন করবে। আপনি যদি আমার মতো বাড়ি থেকে কাজ করছেন তবে নিশ্চিত হন যে আপনি এখনও আপনার ভিপিএন এর সাথে সংযুক্ত আছেন!


0

পুরানো পোস্ট তবে কারও সাহায্য করতে পারে। আমার জন্য এটি ঘটেছিল কারণ আমি নাম পরিবর্তন করেছি Assembly nameএবং Default namespaceপ্রকল্পটি। তাই আমি আপডেট করার জন্য ছিল ContextKeyমধ্যে _MigrationHisotryনতুন মান টেবিল Assembly nameবা Default namespace। সত্যই আমি জানি না কোনটি ব্যবহার করা উচিত, কারণ আমার পক্ষে উভয়ই একই!


-1

অন্য একটি স্থানান্তর থেকে অন্য দেশে ফিরে যাওয়ার পরে আমি ঠিক একই সমস্যার মুখোমুখি হয়েছি।

আমার ক্ষেত্রে আমি "মাইগ্রেশন06" থেকে "মাইগ্রেশন04" এ "টার্গেটমাইগ্রেশন" করেছি।

আমার "মাইগ্রেশন0" 6 মুছতে হবে এবং তারপরে আমি "মাইগ্রেশন05" তৈরি করতে বাধ্য হয়েছি। এটির মূলত অর্থ এই যে আপনি লক্ষ্যবস্তুর পরে কেবলমাত্র পরবর্তী স্থানান্তর রাখতে হবে to


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.