'অবজেক্টস' টাইপ বা নেমস্পেসের নাম 'সিস্টেম.ডাটা' নাম নেই


101

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

সংকলন নিম্নলিখিত ত্রুটি ছুড়ে:

'অবজেক্টস' টাইপ বা নেমস্পেসের নামটি 'সিস্টেম.ডাটা' নামস্থানে বিদ্যমান নেই (আপনি কি কোনও সমাবেশের উল্লেখটি অনুপস্থিত?)

এছাড়াও, System.Data.Objects ব্যবহারের বিবৃতি একই কারণে সমাধান করে না।

আমি সমাবেশটি রেফারেন্স হিসাবে যুক্ত করার চেষ্টা করেছি, তবে এটি সমাবেশের রেফারেন্সের নেট নেট ট্যাবে খুঁজে পেলাম না।

কোন চিন্তা? ধন্যবাদ!

উত্তর:


207

আপনাকে .NET সমাবেশ সিস্টেম.ডাটা.এন্টিটি.ডিএলএ একটি রেফারেন্স যুক্ত করতে হবে।


1
এটা কাজ করেছে! কৌতূহলী, যদি System.Data.objects নেমস্পেসটি প্রকৃতপক্ষে সিস্টেমের মধ্যে উপস্থিত থাকে ata ডেটা.এন্টিটি?
পেন্সিলসলেট

52

আপনি যদি সত্ত্বা ফ্রেমওয়ার্ক 6 ব্যবহার করেন তবে নামের স্থানটি পরিবর্তিত হয়েছে। আপনি ব্যবহার করতে চান

System.Data.Entity.Core.Objects.ObjectQuery

আমার নিউটি প্যাকেজ ম্যানেজারের মাধ্যমে এনটিটি ফ্রেমওয়ার্ক 6.1.3 ইনস্টল করা আছে। আমার কাছে মাইক্রোসফ্টের এসেম্বলি সিস্টেম System ডেটা.এন্টিটি রেফারেটেড নেই। এটি আমার ত্রুটি দেয়। সুতরাং আমার প্রশ্নটি হল যে আমাকে বিবৃতিটি যুক্ত করার আগে সিস্টেম.ডাটা.এন্টিটি FIRST উল্লেখ করা দরকার?
vis2006

31

কিছুক্ষণ আগে ইএফ 5 থেকে ইএফ 6 নুগেটে আপগ্রেড হয়েছে এবং এই সমস্যাটির মুখোমুখি হচ্ছে। আমি উত্পন্ন কোডটি রেফারেন্সে আপডেট করে এটি সংশোধন করব System.Data.Entity.Core.Objects, তবে প্রজন্মের পরে এটিকে আবার পরিবর্তন করা হবে (এটি উত্পন্ন হওয়ার পরে যেমনটি প্রত্যাশা করা হয়েছিল)।

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

http://msdn.microsoft.com/en-us/data/upgradeef6

আপনার যদি ইএফ ডিজাইনারের সাথে তৈরি কোনও মডেল থাকে তবে আপনাকে EF6 সামঞ্জস্যপূর্ণ কোড উত্পন্ন করতে কোড প্রজন্মের টেমপ্লেটগুলি আপডেট করতে হবে। দ্রষ্টব্য: বর্তমানে কেবলমাত্র EF 6.x DbContext জেনারেটর টেম্পলেটগুলি ভিজ্যুয়াল স্টুডিও 2012 এবং 2013-এর জন্য উপলব্ধ।

  1. বিদ্যমান কোড-প্রজন্মের টেম্পলেটগুলি মুছুন। এই ফাইলগুলি সাধারণত <edmx_file_name> .tt এবং <edmx_file_name> .Context.tt নামকরণ করা হবে এবং সলিউশন এক্সপ্লোরারে আপনার এডএমএক্স ফাইলের নীচে নেস্ট করা হবে। আপনি সমাধান এক্সপ্লোরারে টেম্পলেটগুলি নির্বাচন করতে পারেন এবং Delসেগুলি মুছতে কী টিপতে পারেন।
    দ্রষ্টব্য: ওয়েব সাইট প্রকল্পে টেমপ্লেটগুলি আপনার এডএমএক্স ফাইলের নীচে নেস্ট করা হবে না, তবে এটি সমাধান এক্সপ্লোরার-এর পাশাপাশি তালিকাভুক্ত করা হবে।
    দ্রষ্টব্য: ভিবি.এনইটি প্রকল্পে নেস্টেড টেম্পলেট ফাইলগুলি দেখতে সক্ষম হতে আপনাকে 'সমস্ত ফাইল দেখান' সক্ষম করতে হবে।
  2. উপযুক্ত EF 6.x কোড জেনারেশন টেম্পলেট যুক্ত করুন। আপনার মডেলটি EF ডিজাইনারে খুলুন, নকশার পৃষ্ঠের উপর ডান ক্লিক করুন এবং কোড উত্পন্ন আইটেমটি নির্বাচন করুন ...
    • আপনি যদি DbContext API ব্যবহার করেন (প্রস্তাবিত) তবে EF 6.x DbContext জেনারেটর ডেটা ট্যাবের অধীনে উপলব্ধ হবে ।
      দ্রষ্টব্য: আপনি যদি ভিজ্যুয়াল স্টুডিও 2012 ব্যবহার করছেন তবে এই টেমপ্লেটটি পেতে আপনার EF 6 টি সরঞ্জাম ইনস্টল করতে হবে। বিশদের জন্য সত্তা ফ্রেমওয়ার্ক পান দেখুন ।
    • আপনি ObjectContext এপিআই ব্যবহার করে থাকেন তাহলে আপনি নির্বাচন করতে হবে অনলাইন ট্যাব এবং অনুসন্ধান মতিন 6.x EntityObject জেনারেটর
  3. আপনি যদি কোড জেনারেশন টেম্পলেটগুলিতে কোনও কাস্টমাইজেশন প্রয়োগ করেন তবে আপনাকে সেগুলি আপডেট হওয়া টেম্পলেটগুলিতে পুনরায় প্রয়োগ করতে হবে।

3

ভিএস 2013 তে একই সমস্যা

আমি Web.config এ যুক্ত করেছি:

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

এটি একটি মোহন মত কাজ করে।

আমি এটি পৃষ্ঠাতে পেয়েছি: http://www.programmer.bz/Home/tabid/115/asp_net_sql/281/The-type-or-namespace-name-Objects-does-not-exist-in-the-namespace- SystemData.aspx


3

যদি আপনি "System.Data.Objects.EntityFunitions" ব্যবহার করতে চান

EF 6.1+ এ "System.Data.Entity.DbFunitions" ব্যবহার করুন


3

EF 6+ এর ক্ষেত্রে আমার ক্ষেত্রে, এটি ব্যবহার করার সময়:

System.Data.Entity.Core.Objects.ObjectQuery

এই আদেশের অংশ হিসাবে:

var sql = ((System.Data.Entity.Core.Objects.ObjectQuery)query).ToTraceString();

আমি এই ত্রুটি পেয়েছি:

Cannot cast 'query' (which has an actual type of 'System.Data.Entity.Infrastructure.DbQuery<<>f__AnonymousType3<string,string,string,short,string>>') to 'System.Data.Entity.Core.Objects.ObjectQuery'

সুতরাং আমি এটি ব্যবহার করে শেষ করেছি:

var sql = ((System.Data.Entity.Infrastructure.DbQuery<<>f__AnonymousType3<string,string,string,short,string>>)query).ToString();    

অবশ্যই আপনার বেনামি ধরণের স্বাক্ষর আলাদা হতে পারে।

আছে HTH।


0

আমি .dll ফাইলটিতে একটি রেফারেন্স যুক্ত করেছি, System.Data.Linq এর জন্য, উপরেরটি পর্যাপ্ত ছিল না। নিম্নলিখিত সংস্করণগুলির জন্য আপনি .dll বিভিন্ন ডিরেক্টরিতে খুঁজে পেতে পারেন।

System.Data.Linq সি: Files প্রোগ্রাম ফাইল (x86) ference রেফারেন্স অ্যাসেমব্লিগুলি \ মাইক্রোসফ্ট ফ্রেমওয়ার্ক \ v3.5 \ System.Data.Linq.dll 3.5.0.0

System.Data.Linq সি: \ প্রোগ্রাম ফাইল (x86) ference রেফারেন্স অ্যাসেমব্লিগুলি \ মাইক্রোসফ্ট me ফ্রেমওয়ার্ক। নেট ফ্রেমওয়ার্ক \ v4.0 \ প্রোফাইল \ ক্লায়েন্ট \ System.Data.Linq.dll 4.0.০.০.০


2
সংশোধন করে এটি একটি প্রশ্নের উত্তর দেয় যেখানে: 'লিঙ্ক' টাইপ বা নামের নাম 'সিস্টেম.ডাটা'
টম কিবিনস

0

আপনাকে নেট নেট সমাবেশ সিস্টেম.ডাটা.লিনিকের একটি রেফারেন্স যুক্ত করতে হবে


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