আমি বর্তমানে যে অ্যাপ্লিকেশনটি তৈরি করছি সেটি স্টোরেজ পদ্ধতি এবং হস্ত-কারুকৃত শ্রেণির মডেলগুলি ব্যবহার করে ডাটাবেস অবজেক্টগুলি উপস্থাপন করে। কিছু লোক সত্তা ফ্রেমওয়ার্ক ব্যবহার করার পরামর্শ দিয়েছেন এবং আমি এ থেকে স্যুইচ করার বিষয়টি বিবেচনা করছি কারণ যেহেতু আমি প্রকল্পের এত বেশি নই। আমার সমস্যাটি হ'ল, আমি অনুভব করছি যে EF এর জন্য তর্ককারী লোকেরা আমাকে কেবল জিনিসগুলির ভাল দিকই বলছে, খারাপ দিকটি নয় :)
আমার প্রধান উদ্বেগগুলি হ'ল:
- আমরা ডেটাঅ্যানোটেশনগুলি ব্যবহার করে ক্লায়েন্ট-সাইডের বৈধতা চাই এবং এটি মনে হচ্ছে যে কোনওভাবেই আমাকে ক্লায়েন্ট-সাইড মডেলগুলি তৈরি করতে হবে তাই আমি নিশ্চিত নই যে EF এত কোডিংয়ের সময় সাশ্রয় করবে I
- নেটওয়ার্কের উপর দিয়ে যাওয়ার সময় আমরা ক্লাসগুলি যথাসম্ভব ছোট রাখতে চাই এবং আমি পড়েছি যে EF ব্যবহার করার ক্ষেত্রে প্রায়শই অতিরিক্ত ডেটা থাকে যা প্রয়োজন হয় না
- আমাদের কাছে একটি জটিল ডাটাবেস স্তর রয়েছে যা একাধিক ডাটাবেস অতিক্রম করে এবং আমি নিশ্চিত নই যে EF এটি পরিচালনা করতে পারে। আমাদের ব্যবহারকারীর, স্ট্যাটাসকোডস, প্রকারগুলি ইত্যাদির মতো জিনিসগুলির সাথে একটি সাধারণ ডাটাবেস রয়েছে এবং অ্যাপ্লিকেশনটির বিভিন্ন উদাহরণের জন্য আমাদের মূল ডাটাবেসের একাধিক উদাহরণ রয়েছে। নির্বাচনের অনুসন্ধানগুলি ডাটাবেসগুলির সমস্ত দৃষ্টান্ত জুড়ে জিজ্ঞাসা করতে পারে এবং করবে, তবে ব্যবহারকারীরা কেবলমাত্র বর্তমানে কাজ করছেন এমন ডাটাবেসে থাকা অবজেক্টগুলিকে পরিবর্তন করতে পারে। অ্যাপ্লিকেশনটি পুনরায় লোড না করে তারা ডাটাবেসগুলি স্যুইচ করতে পারে।
- অবজেক্ট মোডগুলি খুব জটিল এবং এর সাথে প্রায়শই বেশ কয়েকজন জড়িত থাকে
EF এর পক্ষে যুক্তিগুলি হ'ল:
- Concurrency। প্রতিটি সংরক্ষণের আগে রেকর্ডটি আপডেট হয়েছিল কিনা তা দেখতে আমাকে চেকগুলিতে কোড করতে হবে না
- কোড জেনারেশন। ইএফ আমার জন্য আংশিক শ্রেণির মডেল এবং পোকো তৈরি করতে পারে, তবে আমি ইতিবাচক নই যেহেতু এটি সত্যই আমাকে এতটা সময় বাঁচাতে পারে যেহেতু আমি মনে করি আমাদের এখনও বৈধতা এবং কিছু কাস্টম পার্সিং পদ্ধতির জন্য ক্লায়েন্ট-সাইড মডেল তৈরি করতে হবে।
- উন্নয়নের গতি যেহেতু প্রতিটি ডাটাবেস অবজেক্টের জন্য আমাদের CRUD সঞ্চিত প্রক্রিয়া তৈরি করার প্রয়োজন হবে না
আমাদের বর্তমান আর্কিটেকচারে একটি ডাব্লুপিএফ পরিষেবা রয়েছে যা প্যারামিটারাইজড স্টোরেড পদ্ধতিগুলি, ডাব্লুসিএফ পরিষেবা এবং ডাব্লুপিএফ ক্লায়েন্টের কাছে / থেকে যাওয়া পোকো অবজেক্টস এবং ডাব্লুপিএফ ডেস্কটপ ক্লায়েন্ট নিজেই পোকোকে শ্রেণীর মডেলগুলিতে বৈধকরণের উদ্দেশ্যে রূপান্তরিত করে এবং ডাব্লুপিএফ ডেস্কটপ ক্লায়েন্টকে পরিচালনা করে which DataBinding।
সুতরাং আমার প্রশ্নটি হল, EF এর পক্ষে কি সঠিক? EF সম্পর্কে এমন কোন সমস্যা আছে যা সম্পর্কে আমি অজানা?