অ্যাপ্লিকেশন কনফিগার ফাইলে 'MyEntities' নামের কোনও সংযোগের স্ট্রিং পাওয়া যায় নি


246

আমি অ্যাপ্লিকেশন তৈরি করতে সত্তা কাঠামো এবং এএসপি.নেট এমভিসি 4 ব্যবহার করছি

আমার সমাধান দুটি প্রকল্পে বিভক্ত;

  • আমার ক্লাসের লাইব্রেরিতে আমার ডেটা মডেল (.edmx) ফাইল এবং কয়েকটি কাস্টম ইন্টারফেস রয়েছে
  • 'ধারক' এমভিসি প্রকল্প যা উপরের বর্গ গ্রন্থাগারের উল্লেখ করে

আমার সমস্যাটি হ'ল আমি যখন 'মাইএনটিটস' ডিবি কনটেক্সট ব্যবহার করার চেষ্টা করি তখন আমি নীচের ত্রুটিটি পাই:

অ্যাপ্লিকেশন কনফিগার ফাইলে 'MyEntities' নামের কোনও সংযোগের স্ট্রিং পাওয়া যায় নি।

আমার ধারণা, এমভিসি প্রকল্পের পরিবর্তে ক্লাস লাইব্রেরির অ্যাপ.config এর মধ্যে সংযোগের স্ট্রিং রয়েছে তার সাথে এই সমস্যার কিছু আছে।

যে কেউ কোন পরামর্শ আছে?


15
আপনার মতো ঠিক একই প্রসঙ্গে নয় (ইএফ 6 দিয়ে স্বয়ংক্রিয়ভাবে মাইগ্রেশন) তবে আমি টিএফএসে একটি শিশু শাখা তৈরি করে এবং এটিতে কাজ শুরু করার সময় একই ত্রুটি বার্তায় আমার একই সমস্যা হয়েছিল। এমভিসি প্রকল্পটিকে স্টার্ট-আপ প্রকল্প হিসাবে চিহ্নিত করা এটি সমাধান করেছে। আউটপুট PM> Update-Database -Verbose Using StartUp project 'xxxxx.Web.Home'. Using NuGet project 'xxxxx.Web.Home.Dal'. Specify the '-Verbose' flag to view the SQL statements being applied to the target database. Target database is: 'MovieDatabase-0.0.2' (DataSource: (LocalDb)\v11.0, Provider: System.Data.SqlClient, Origin: Configuration).
মেকানিকাল অবজেক্ট

উত্তর:


309

এমভিসি প্রকল্পের .config ফাইলে সংযোগের স্ট্রিংটি অনুলিপি করার চেষ্টা করুন।


63
নিখুঁত কাজ করে তবে রেফারেন্সড প্রকল্পটি সংযোগের স্ট্রিং আনার জন্য কেন নিজের কনফিগারেশন ফাইলটি ব্যবহার করছে না তা জানতে আগ্রহী।
নুল হেড

7
@ আলেকজান্ডার পুরানো প্রশ্ন তবে হ্যাঁ, আমি কেন তা জানতে চাই।
কেহলান ক্রুমমে

22
@ আলেকজান্ডার, ফ্রেমওয়ার্কটি কার্যকরকারী সমাবেশের জন্য কনফিগারেশন ফাইল (গুলি) লোড করে এবং ব্যবহার করে। এই ক্ষেত্রে, এটি ওয়েব প্রকল্প। ক্লাস লাইব্রেরিতে সাধারণত তাদের নিজস্ব কনফিগারেশন ফাইল থাকে না।
কিপ্রেনে

24
নুগেট কনসোলের প্রসঙ্গে চালিত হওয়ার পরে সক্ষম-স্থানান্তর কমান্ডগুলি সূচনা প্রকল্পগুলি কনফিগার ফাইলের দিকে নজর রাখে, আপনি যে প্রকল্পটি মনে করেন তা অবশ্যই প্রয়োজন না Just আপনি প্রবর্তন করতে চান এমন অ্যাপ্লিকেশন কনফিগ দিয়ে প্রকল্পটি সেট করুন Just প্রকল্পের। Allyচ্ছিকভাবে, আপনার সংযোগের স্ট্রিংগুলিকে একটি কনফিগ ফাইলে সংরক্ষণ করুন, তারপরে এগুলিকে অন্য প্রকল্পগুলিতে <সংযুক্তি স্ট্রিং কনফিগারেশন = "../ প্রকল্পডির / SharedConnections.config" />
রায়ান মান

3
আমি এই সঠিক ত্রুটি বার্তা পেয়েছি, তবে আমার .config ফাইল - সঠিক প্রকল্পে - সত্যই সঠিক সংযোগ-স্ট্রিং তালিকাভুক্ত হয়েছে। যাইহোক, আমি ট্রান্সফর্মেশন ব্যবহার করছিলাম এবং সংযোগ-স্ট্রিং অবশ্যই রূপান্তরিত .config-file- তে উল্লেখ করা হয়নি। সুতরাং যদি আপনি কনফিগারেশন-ফাইল রূপান্তর ব্যবহার করেন তবে এটি দেখার মতো।
মর্টেন নর্গার্ড

143

আপনি ঠিক বলেছেন, ক্লাস লাইব্রেরি (যেখানে .edmx ফাইলটি) আপনার সূচনা / মূল প্রকল্প নয় বলে এটি ঘটে।

আপনাকে সংযোগের স্ট্রিংটি মূল প্রকল্প কনফিগার ফাইলে অনুলিপি করতে হবে।

আপনার প্রারম্ভকালে / মূল প্রকল্পটিতে একটি কনফিগার ফাইল নেই (যেমন এটি আমার কনসোল অ্যাপ্লিকেশন ক্ষেত্রে ছিল) কেবল একটি যুক্ত করুন (প্রারম্ভিক প্রকল্প - নতুন আইটেম যুক্ত করুন -> অ্যাপ্লিকেশন কনফিগারেশন ফাইল)।

আরও প্রাসঙ্গিক তথ্য এখানে পাওয়া যাবে: মেটাডেটা এক্সেপশন: নির্দিষ্ট মেটাডেটা সংস্থান লোড করতে অক্ষম Un


8
এর মূল উত্তরটি হচ্ছে শ্রেণিক পাঠাগার (যেখানে .edmx ফাইলটি রয়েছে) আপনার STARTUP প্রকল্প নয়। আমি বুঝতে পেরেছিলাম যে আমার স্টার্টআপ প্রজেক্টটি সেই প্রকল্পে সেট করা হয়নি যা আমার ওয়েবকনফিগটি ছিল। এটি একটি আলাদা অ্যাপকনফাইগ সহ একটি কনসোল অ্যাপ্লিকেশন ছিল। সুতরাং আপনি যদি নিজের ওয়েব সলিউশনে কনসোল অ্যাপ্লিকেশনগুলি যুক্ত করে থাকেন, আপনি আপডেট-ডাটাবেস চালানোর সময় নিশ্চিত হয়ে নিন যে আপনার ওয়েব প্রকল্পটি সূচনা প্রকল্প!
কার্ল

1
আমি কোনও কারণে আমার মূল প্রকল্পটি লোড করেছি এবং এটিকে পুনরায় লোড করার পরে আমি মাইগ্রেশন যুক্ত করার চেষ্টা করে এই ত্রুটি পেয়েছি। মূল প্রকল্পের সূচনা প্রকল্পটি আবার সমস্যার সমাধান করেছে। ধন্যবাদ @ ওরে
আজাদরাম

2
আমার স্টার্টআপ প্রকল্পটি ভুল করে পরিবর্তন করা হয়েছিল। এটি কি বিট। আপনার উত্তর সত্যিই সাহায্য!
ফ্যাবিও মিলিহিরো

98

নিশ্চিত হয়ে নিন যে আপনি আপনার প্রকল্পটি (DbContext সহ) প্রারম্ভিক হিসাবে তৈরি করেছেন

প্রকল্পে ডান ক্লিক করুন এবং নির্বাচন করুন

অথবা

প্রজেক্টে যুক্ত করুন যা অ্যাপকনফাইগ (বা ওয়েবকনফিগ) এ আপনার সংযোগের স্ট্রিংট স্টার্টআপ হিসাবে সেট করা আছে to

অথবা

কমান্ডটি এভাবে কল করুন

Update-Database -Script -ProjectName '<project name>' -StartupProjectName '<project name>' -ConnectionString 'data source=.;initial catalog=<db name>;integrated security=True;MultipleActiveResultSets=True' -ConnectionProviderName 'System.Data.SqlClient'

তারপরে আবার চেষ্টা করুন


2
এটি আসলে এই প্রকল্পটির সংযোগের স্ট্রিংটিকে প্রারম্ভিক প্রকল্প হিসাবে সেট করা উচিত এবং সাধারণত আপনার ডিবি কনটেক্সট ফাইল বসার প্রকল্প নয়
রেমন্ড ওয়াং ২ '

1
... এইভাবে, প্যাকেজ এমগ্রি সঠিক স্তরটিকে লক্ষ্য করে তোলে তা নিশ্চিত করার পাশাপাশি Set as Startup Projectউপরের চিত্রের স্ক্রিনশট অনুযায়ী খুব একই স্তরটি হওয়া দরকার । (যদিও আপনি এফ 5 টি আঘাত করলেও আপনি ক্লাসের
পাঠাগারটি

3
এটি আমার জীবন বাঁচিয়েছিল। যদিও প্যাকেজ ম্যানেজারে আমার ডিফল্ট প্রকল্পটি প্রজেক্টটি সেট করা হয়েছিল সেখানে সেট করা ছিল, তবুও এটি ওভাররাইড করতে পারেনি।
garfbradaz

1
"তবে এটি গতকাল কার্যকর হয়েছিল! ঠিক একই আদেশ !" => এই!
সাইমন_উইভার

1
সবচেয়ে সহজ উপায় =)
আলেকজান্ডার

29

আপনি কেবল সংযোগের স্ট্রিংটি পাস করতে পারেন EntityFrameworkএবং আপনার জীবন নিয়ে যেতে পারেন:

public partial class UtilityContext : DbContext
{
    static UtilityContext()
    {
        Database.SetInitializer<UtilityContext>(null);
    }

    public UtilityContext()
        : base("Data Source=SERVER;Initial Catalog=DATABASE;Persist Security Info=True;User ID=USERNAME;Password=PASSWORD;MultipleActiveResultSets=True")
    {
    }

    // DbSet, OnModelCreating, etc...
}

এবং আমার দিনটিও বানিয়েছে কারণ আমার স্টার্টআপ প্রকল্পটি কেন হঠাৎ কনফিগার ফাইলটি খুঁজে পাওয়া বন্ধ করেছিল তার কোনও সমাধান আমি খুঁজে পাইনি। আমার অ্যাপকনফাইগ এবং <appname> .exe.config আমার স্টার্টআপ প্রজেক্ট বিনটিতে প্রদর্শিত হচ্ছে এবং এখনও অ্যান্টিটি ফ্রেমওয়ার্ক যে সংযোগ স্ট্রিংটি আমি চিরকাল ব্যবহার করে আসছি তা খুঁজে পেল না। আমি সমাধানটি থেকে সম্প্রতি অব্যবহৃত বেশ কয়েকটি প্রকল্প সরিয়েছি এবং আমি ভাবছি যে এর সাথে কিছু করার আছে কিনা। আমি সমাধান থেকে একটি ওয়েব প্রকল্প সরিয়েছি। ভাবছি যদি আমার অন্যান্য প্রকল্পগুলি ওয়েলকনফাইগ বা এরকম অস্বাভাবিক কিছুতে নির্ভর করে।
গ্রেডওয়ার্ফ

চলমান প্রকল্পের কনফিগারেশনটি অন্যান্য সমস্ত শিশু প্রকল্প ব্যবহার করে।
সার্জ সাগান

1
কিন্তু কিভাবে প্রদানকারীর নাম সেট করবেন?
ফিজমাইক

9

আপনি যেমন লক্ষ করেছেন, সংযোগের স্ট্রিংটি ক্লাস লাইব্রেরির অ্যাপকনফাইগের সাথে করা।

ক্লাস অ্যাপ.config থেকে এন্ট্রিটি ধারক app.configবা web.configফাইলটিতে অনুলিপি করুন


8

যদি সমাধানে আপনার একাধিক প্রকল্প রয়েছে, তবে আপনি যেখানে আপনার সত্য App.config রেখেছেন সেখানে সেটআপ প্রকল্প শুরু করুন।


7

" প্রকল্প হিসাবে সেট করুন" তে সেট করে এমন প্রকল্পে ফাইলটি app.configবা web.configফাইলটি অনুলিপি করুন StartUpএবং যদি ডেটা স্তর প্রকল্পে সত্তা কাঠামো ব্যবহারের ক্ষেত্রে হয় - তবে দয়া করে মূল প্রকল্পে সত্তা ফ্রেমওয়ার্ক নুগেট ইনস্টল করুন ।


4

এছাড়া যদি প্রারম্ভে প্রকল্পের হয় এরকম পরিবর্তিত এক, যা না আছে সংযোগ স্ট্রিং

  1. ডান ক্লিক সমাধান - ক্লিক করুন বৈশিষ্ট্য
  2. সাধারণ সম্পত্তিগুলির অধীনে, প্রারম্ভিক প্রকল্পটি নির্বাচন করুন
  3. ডান ফলকে প্রজেক্টটি নির্বাচন করুন যার সংযোগের স্ট্রিং রয়েছে (বেশিরভাগ ক্ষেত্রে এটি এমভিসি প্রকল্প হবে - প্রকল্পটি সমাধান শুরু করে)

হ্যাঁ এটা কাজ করে. আমি ডিবি সাথে যোগাযোগের জন্য EF এর জন্য একটি শ্রেণিকালীন গ্রন্থাগার তৈরি করেছি এবং একই সমস্যা হচ্ছিল।
সতিন্দর সিধু

4
  1. একটি App.Config ফাইল যুক্ত করুন
  2. প্রারম্ভিক প্রকল্প হিসাবে প্রকল্প সেট করুন।
  3. আপনি entityFrameworkবিভাগের পরে সংযোগের স্ট্রিং যুক্ত করেছেন তা নিশ্চিত করুন :

    <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
    
    </configSections>
    
    <connectionStrings>
       <!-- your connection string goes here, after configSection -->
    </connectionString>

3

হ্যাঁ, এটা নির্বোধ। আপনি কোনও সংযোগ নির্মাতা ব্যবহার করে সংযোগের স্ট্রিং অনুলিপি করতে পারবেন। ভিবি.নেট কোড (উত্পাদনের ক্ষেত্রে ব্যবহৃত তবে এখানে কিছুটা সংশোধিত হয়েছে, সুতরাং কোনও সমস্যা সমাধানে সহায়তা করে খুশি) আমার জন্য:

    Dim EfBuilder As New System.Data.EntityClient.EntityConnectionStringBuilder("metadata=res://*/VMware.VmEf.csdl|res://*/VMware.VmEf.ssdl|res://*/VMware.VmEf.msl;provider=System.Data.SqlClient;provider connection string=""data source=none;initial catalog=none;integrated security=True;multipleactiveresultsets=True;App=EntityFramework""")
   Dim SqlBuilder As New Data.SqlClient.SqlConnectionStringBuilder(EfBuilder.ProviderConnectionString)
                        SqlBuilder.DataSource = serverName
                        SqlBuilder.InitialCatalog = databaseName
                        EfBuilder.ProviderConnectionString = SqlBuilder.ConnectionString
                        Using vmCtx As New VmEfConn(EfBuilder.ConnectionString)

2

আপনি কি আপনার সমাধানে একাধিক প্রকল্প ব্যবহার করছেন?

কারণ আপনি যদি হন তবে ওয়েব কনফিগারেশনটি অবশ্যই আপনাকে চেক করতে হবে ডি .edmx ফাইলের মতো একই প্রকল্পে on


হ্যাঁ, এই ক্ষেত্রে। সংযোগের স্ট্রিং রয়েছে এমন প্রকল্পটি একটি শ্রেণিকালীন গ্রন্থাগার যা কেবলমাত্র একটি অ্যাপকনফাইগ ফাইল অন্তর্ভুক্ত করে। এমভিসি প্রকল্পটি এই চেক করছে বলে মনে হয় না।
jjc99

উন্নয়নের সময় এটি কেবল তার প্রকল্পের অ্যাপকনফাইগকে চেচ করবে, আপনাকে অবশ্যই সেখানে যুক্ত করতে হবে
ডিয়েগো

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

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

1

এমভিসি প্রকল্প ওয়েবকনফিগ ফাইলটিতে সংযোগস্ট্রিং যুক্ত করুন


1

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

এই সমস্যা এড়ানোর জন্য আপনার অবশ্যই:

  1. শুরু * .কনফিগ ফাইলটিতে আপনার সংযোগের স্ট্রিং দরকার need
  2. আপনার রেফারেন্সগুলিতে আপনার সত্ত্বা ফ্রেমওয়ার্ক ডিএলএল ইনস্টল করা দরকার

1

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


1
ধন্যবাদ, আমার প্রকল্পটি লোড করার সাথে আমার একটি সমস্যা হয়েছিল এবং এটি "স্টার্টআপ প্রজেক্ট" হারিয়েছে। আপনার উত্তরটি কনটেক্সট ফাইল এবং অ্যাপকনফাইগ সহ প্রকল্পটি স্টার্টআপ ছিল তা নিশ্চিত করার জন্য আমাকে মনে করিয়ে দিল।
মাস্ত্রো

1

অন্য উত্তর দ্বারা নির্দেশিত হিসাবে, প্রারম্ভিক রূপ হিসাবে প্রকল্প সেট না করে আমি এটি পেয়েছি। এতে আমার অবদান - অ্যাড-মাইগ্রেশন এবং আপডেট-ডাটাবেসগুলি করার সময়, নুগেট প্যাকেজ ম্যানেজার কনসোলে কমান্ডের অংশ হিসাবে প্রারম্ভিক প্রকল্পটি নির্দিষ্ট করুন ('[' বা ']' অক্ষরগুলি অন্তর্ভুক্ত করবেন না, এটি আপনাকে দেখানোর জন্য সেখানে অবস্থিত পাঠ্যটি আপনার প্রকল্পের নামে পরিবর্তন করতে হবে):

  1. সক্ষম করুন-স্থানান্তরণ
  2. অ্যাড-মাইগ্রেশনস-স্টার্টআপপ্রজেক্ট [আপনার প্রকল্পের নাম যাতে ডেটা প্রসঙ্গে শ্রেণি রয়েছে]
  3. আপডেট-ডাটাবেস-স্টার্টআপপ্রজেক্ট [উপরের মতো একই প্রকল্পের নাম]

যা করা উচিৎ.


আপনি আপনার পদ্ধতিতে কমান্ডগুলি অন্তর্ভুক্ত করতে পারেন এবং ডিফল্ট থেকে দূরে স্টার্টআপ প্রকল্পটি পরিবর্তন করতে হবে না।
জেকজে

1

কারণ আপনার প্রসঙ্গ শ্রেণি DbContext থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হচ্ছে। আমার ধারণা আপনার কর্টরটি এরকম:

public MyEntities()
    : base("name=MyEntities")

name=... আপনার কানেকশনস্ট্রিংয়ের নামে পরিবর্তন করা উচিত


0

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

ওয়েব প্রকল্পের জন্য ব্রেকড হ'ল ওয়েব প্রকল্পের জন্য web.config ফাইলটিতে এলোমেলো .config তথ্য যুক্ত করার জন্য কোনও স্বয়ংক্রিয় প্রক্রিয়া নেই।

ওয়েলকনফিগ ফাইলের সংযোগ বিভাগে কনফিগারেশন ফাইলটি থেকে সংযোগের স্ট্রিংটি অনুলিপি করা এবং কনফিগার ফাইলের বিষয়বস্তু উপেক্ষা করা সহজ।


0

আমি স্রেফ এটির সন্ধানের সর্বোত্তম উপায়টি হ'ল অস্থায়ীভাবে সেই প্রকল্পটিকে (সম্ভবত একটি শ্রেণীর পাঠাগার) স্টার্টআপ প্রকল্পে সেট করা। এটি প্যাকেজ পরিচালকের কনসোলটিকে কনফিগার উত্স হিসাবে ব্যবহার করতে বাধ্য করে। এটি যেভাবে এটি সেট আপ করা হয় তার একটি অংশ হ'ল টপ ডাউন মডেল যা সাধারণত ইকনফিগ ফাইলগুলি অনুসরণ করে। থাম্বের নিয়মটি হল যে প্রকল্পটি ক্লায়েন্টের নিকটতম (উদাহরণস্বরূপ এমভিসি অ্যাপ্লিকেশন) হ'ল ওয়েবকনফিগ বা অ্যাপকনফাইগ যা ব্যবহার করা হবে।


0

নিশ্চিত করুন যে আপনি সংযোগের স্ট্রিংটি প্রারম্ভিক প্রকল্পের রুট ওয়েবকনফাইগে রেখেছেন।

আমি জানি যে আমি এখানে স্পষ্ট করে বলছি, তবে এটি আমার সাথেও ঘটেছিল - যদিও আমি ইতিমধ্যে আমার এমভিসি প্রকল্পের ওয়েব.কনফাইগের (.edmx ফাইলটি একটি পৃথক, শ্রেণিকালীন গ্রন্থাগারের প্রকল্পে স্থাপন করা হয়েছিল) সংযোগের স্ট্রিং রেখেছিলাম এবং আমি পারিনি আমি বুঝতে পারছি না যে আমি কেন একটি ব্যতিক্রম পাচ্ছি ... দীর্ঘ গল্পের সংক্ষেপে, আমি সংযোগের স্ট্রিংটি ভুল করে দর্শন-ওয়েব.কনফিগের কাছে অনুলিপি করেছিলাম এবং ক্লান্তি-না-নীচে-স্ক্রোলিংয়ের এক অদ্ভুত সংমিশ্রণে - সমাধান-এক্সপ্লোরার দৃশ্য। হ্যাঁ, এই জিনিসগুলি প্রবীণ বিকাশকারীদেরও হয় :)


0

আপনি যখন আপনার প্রকল্পে স্তরগুলি ব্যবহার করেন এবং ডেটালেয়ারে সত্ত্বা ফ্রেমের কাজ সংজ্ঞায়িত বা ইনস্টল করেন এবং আপনার প্রকল্পটি চালনার চেষ্টা করেন তখন এই সমস্যাটি ঘটে

সুতরাং এই সমস্যা থেকে উত্তরণের জন্য যেখানে এডএমএক্স ফাইল রয়েছে সেই স্তর থেকে সংযোগের স্ট্রিংটি অনুলিপি করুন এবং সংযোগের স্ট্রিংটি মূল ওয়েবকনফাইগে পেস্ট করুন।


0

শ্রেণীর পাঠাগারটিকে নীচের হিসাবে উল্লেখ করে 'ধারক' এমভিসি প্রকল্পের মূল ওয়েবকনফিগ ফাইলটিতে একটি সংযোগ স্ট্রিং যুক্ত করুন:

 <connectionStrings>

  <add name="MyEntities" connectionString="complete connection string here" providerName="System.Data.SqlClient" />

  </connectionStrings>

আপনি যদি সংযোগের নাম হিসাবে "মাইএনটিটিটিস" ব্যবহার করতে না চান তবে নিজের ইচ্ছামত পরিবর্তন করুন তবে আপনার মাইএনটিটিজ ডিবি কনটেক্সট ক্লাসে নিম্নলিখিত পরিবর্তন করুন:

MyEntities: DbContext
 {
   public MyEntities():base("Name-Of-connection-string-you wish to connect"){ }
 }

এই ত্রুটির কারণটি হ'ল, আমরা যদি সংযোগের স্ট্রিংয়ের নামটি নির্দিষ্ট না করি বা DbConext এর উত্পন্ন শ্রেণিতে স্ট্রিং সংযুক্ত করি না (আপনার ক্ষেত্রে এটি MyEntities হয়) তবে DbContext স্বয়ংক্রিয়ভাবে রুট ওয়েব। উত্পন্ন শ্রেণীর নাম হিসাবে একই (আপনার ক্ষেত্রে এটি আমার সত্তা)।


0

এমএসটিস্টে চালানোর সময় আমার এই সমস্যা হয়েছিল। "কোলাহল" পতাকা ছাড়া এটি কাজ করতে পারিনি।

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


0

নিয়মিত মাইগ্রেশন

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

অ্যাজুর বা স্বয়ংক্রিয় স্থানান্তর (প্রোগ্রামেটিক)

আপনি যদি প্রোগ্রামিকভাবে মাইগ্রেশন পরিচালনা করেন তবে একটি দ্বিতীয় বিকল্প উপলব্ধ রয়েছে, এটি আপনাকে ওয়েবকনফাইগে সংরক্ষণ না করে গতিশীলভাবে (বা অ্যাজুর অ্যাপ্লিকেশন সেটিংসের মাধ্যমে) প্রাপ্ত সংযোগ স্ট্রিং ব্যবহার করে মাইগ্রেশন চালানোর অনুমতি দেয়:

কনফিগারেশনের টার্গেটডেটাবেস সেট করার সময়, কেবল সংযোগের নাম গ্রহণকারী কনস্ট্রাক্টরের পরিবর্তে সংযোগের স্ট্রিং এবং সরবরাহকারীর নাম নেওয়ার জন্য DbConnicationInfo কনস্ট্রাক্টর ব্যবহার করুন । যদি আপনার সংযোগের স্ট্রিংয়ের কোনও সরবরাহকারীর নাম না থাকে এবং আপনি এসকিউএল সার্ভার / অ্যাজুরি এসকিউএল ব্যবহার করেন তবে "সিস্টেম.ডাটা.এসকিএলসিলেট" ব্যবহার করুন


0

এর ফলে কলিং কোডে পর্যাপ্ত পরিমাণ dll রেফারেন্স পাওয়া যায় না। একটি ছোট আনাড়ি হ্যাক আপনার দিন বাঁচাতে পারে।

আমি ডিবি ফার্স্ট পদ্ধতির অনুসরণ করছিলাম এবং ডাল ক্লাস লাইব্রেরি প্রকল্পে ইডিএমএক্স ফাইল তৈরি করেছিলাম এবং এটি বিএএল ক্লাসের লাইব্রেরির সাথে উল্লেখ ছিল, যা ডাব্লুসিএফ পরিষেবা দ্বারা রেফারেন্স করা হয়েছিল।

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


0

@ রায়ানমানের শীর্ষ উত্তরে একটি মন্তব্য রয়েছে যা পরামর্শ দেয়:

আপনার সংযোগের স্ট্রিংগুলি একটি কনফিগ ফাইলে সংরক্ষণ করুন, তারপরে এগুলি দ্বারা অন্য প্রকল্পগুলিতে রেফারেন্স করুন <connectionString configSource="../ProjectDir/SharedConnections.config" />

এটি একটি দুর্দান্ত পরামর্শ!

এটি App.config এবং Web.config ফাইলগুলির মধ্যে সংযোগের স্ট্রিংগুলি ভাগ করতেও কাজ করে!

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

কেবলমাত্র সতর্কতা হ'ল configSourceএকই ডিরেক্টরি বা একটি উপ-ডিরেক্টরিতে উপস্থিত থাকতে হবে। উপরের লিঙ্কটি ব্যাখ্যা করে কীভাবে এটি পেতে "লিঙ্ক হিসাবে যুক্ত করুন" ব্যবহার করবেন।


0

একটি অটোক্যাড প্লাগইনের মধ্যে EF ব্যবহার করার চেষ্টা করার সময় আমার এই ত্রুটি হয়েছিল। সিএডি প্লাগইনগুলি acad.exe.config ফাইল থেকে সংযোগ স্ট্রিং পান। অ্যাকড কনফিগারেশন ফাইলে উপরে উল্লিখিত সংযুক্ত স্ট্রিং যুক্ত করুন এবং এটি কাজ করে।

ক্রেডিট নর্ম্যানকে দেয় AD ADN.Network থেকে ইউয়ান।


0

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

উদাহরণস্বরূপ, যদি আপনার সমাধানটিতে দুটি প্রকল্প থাকে, শ্রেণি গ্রন্থাগার প্রকল্প এবং ডাব্লুপিএফ প্রকল্প, আপনাকে অবশ্যই ব্যাকএন্ড প্রকল্পের সংযোগের স্ট্রিংগুলি (গ্রন্থাগার ক্লাস পোরজেক্ট) অনুলিপি করতে হবে এবং ডাব্লুপিএফ প্রকল্পের অ্যাপকনফিগ ফাইলটিতে একটি অনুলিপি রাখতে হবে।

<connectionStrings>
  <add name="DBEntities" ... />
</connectionStrings>

আশা করি এটি আপনার জন্য সহায়ক :)


-2

Web.config ফাইলে কানেকটেনস্ট্রিনিগ যুক্ত করুন

<ConnectionStiring> <add name="dbName" Connectionstring=" include provider name too"  ></ConnectionStiring>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.