আমি নিম্নলিখিতটি লিখেছিলাম কিছুক্ষণ আগে, তবে আমি সম্প্রতি এটি পর্যালোচনা করতে এসেছি, এবং এখন এটি ভাল নকশা বলে মনে করবেন না।
সত্তা ফ্রেমওয়ার্ক 4 ব্যবহার করে ডিজাইনটি এক ধরণের মডুলার ডাটাবেস স্তরটির জন্য There তাদের নাম (EG "ContentMgmtContext")।
এই সিস্টেমে ডাটাবেসের সাথে সমস্ত যোগাযোগ সঞ্চিত পদ্ধতির মাধ্যমে হয়। ডাটাবেসে কল করার জন্য, ক্যোয়ারী পদ্ধতির স্বাক্ষরটি দেখে মনে হচ্ছে:
List<TReturn> Query<TReturn>(string Context,
string Procedure,
TransactionScope Scope,
List<ObjectParameter> QueryParameters)
এই পরিমিতিটি আমার পছন্দ মতো something যাইহোক, এই পদ্ধতির একটি উল্লেখযোগ্য ত্রুটি রয়েছে: when using the database layer, the code using it has to have a reference to the library in which the context is stored, in order to access the types returned by the stored procedures through Entity Framework.
মডেলটিতে, ডেটাবেস স্তর থেকে অবজেক্টগুলি নতুন অবজেক্টে অনুবাদ করা হয় যা ভিউ এবং নিয়ামক ব্যবহার করে।
আমি মনে করি এটি খারাপ নকশা, তবে আমি কীভাবে এটি উন্নত করতে পারি? আমি একটি খালি ইন্টারফেস যোগ করার মতো বিবেচিত IStoredProecedureObject
হয়েছি যে কোনও স্টোরড পদ্ধতিতে ফিরে আসা প্রতিটি ডেটা টাইপকে একটি সাধারণ বেস প্রকার দেওয়া যায়, তবে এটি সত্তা ফ্রেমওয়ার্ক দ্বারা বানচাল বলে মনে হয়। প্রতিবার .edmx
ফাইলটি পুনরায় সংযুক্ত করার সময় কোডটি নতুনভাবে উত্পন্ন হয় এবং কোনও সংযোজন সরানো হয়। এই ঘটনাকে থামানোর কোনও উপায় আছে কি?
আমি কীভাবে এই নকশাটি উন্নত করতে পারি? এতে (অন্য) কী ভুল? না আমি সঠিক পথে?