সত্তা ফ্রেমওয়ার্ক 4, পোকো অবজেক্টস এবং এএসপি.নেট এমভিসি 2। ব্লগপোস্ট এবং ট্যাগ সত্ত্বার মধ্যে বলতে পারি যে আমার অনেকের সাথে অনেকগুলি সম্পর্ক রয়েছে। এর অর্থ হ'ল আমার টি 4 জেনারেটেড পোকো ব্লগপোস্ট ক্লাসে আমার রয়েছে:
public virtual ICollection<Tag> Tags {
// getter and setter with the magic FixupCollection
}
private ICollection<Tag> _tags;
আমি অবজেক্ট কনটেক্সটসের একটি উদাহরণ থেকে একটি ব্লগপোস্ট এবং সম্পর্কিত ট্যাগগুলির জন্য জিজ্ঞাসা করি এবং এটি অন্য স্তরে প্রেরণ করি (এমভিসি অ্যাপ্লিকেশনটিতে দেখুন)। পরে আমি পরিবর্তিত বৈশিষ্ট্য এবং পরিবর্তিত সম্পর্কের সাথে আপডেট হওয়া ব্লগপোস্টটি ফিরে পাই। উদাহরণস্বরূপ এটিতে "এ" "বি" এবং "সি" ট্যাগ ছিল এবং নতুন ট্যাগগুলি হ'ল "সি" এবং "ডি"। আমার বিশেষ উদাহরণে কোনও নতুন ট্যাগ নেই এবং ট্যাগগুলির বৈশিষ্ট্যগুলি কখনই পরিবর্তিত হয় না, তাই কেবলমাত্র যা সংরক্ষণ করা উচিত তা হল পরিবর্তিত সম্পর্ক। এখন এটি অন্য একটি অবজেক্ট কনটেক্সটে সংরক্ষণ করতে হবে। (আপডেট: এখন আমি একই প্রসঙ্গে উদাহরণটি করার চেষ্টা করেছি এবং ব্যর্থও হয়েছি))
সমস্যা: আমি সম্পর্কগুলি সঠিকভাবে সংরক্ষণ করতে পারি না। আমি যা কিছু পেয়েছি তা চেষ্টা করেছিলাম:
- কন্ট্রোলার.উপেটেট মডেল এবং কন্ট্রোলার ট্রাইআপডেটমোডেল কাজ করে না।
- প্রসঙ্গ থেকে পুরানো ব্লগপোস্ট প্রাপ্তি সংগ্রহের সংশোধন কাজ করে না। (পরবর্তী পয়েন্ট থেকে বিভিন্ন পদ্ধতি সহ)
- এটি সম্ভবত কার্যকর হবে তবে আমি আশা করি এটি কেবল একটি সমাধান, সমাধান নয় :(।
- প্রতিটি সম্ভাব্য সংমিশ্রণে ব্লগপোস্ট এবং / অথবা ট্যাগগুলির জন্য সংযুক্ত / যুক্ত / চেঞ্জবজেক্টস্টেট ফাংশনগুলির চেষ্টা করা। ব্যর্থ হয়েছে.
- এটি আমার যা প্রয়োজন তা দেখে মনে হচ্ছে তবে এটি কার্যকর হয় না (আমি এটি ঠিক করার চেষ্টা করেছি, তবে আমার সমস্যার জন্য পারি না)।
- চেষ্টা করা চেঞ্জস্টেট / যুক্ত / সংযুক্ত / ... প্রসঙ্গে সম্পর্কের অবজেক্ট। ব্যর্থ হয়েছে.
"কাজ করে না" এর অর্থ বেশিরভাগ ক্ষেত্রে আমি প্রদত্ত "সমাধান" তে কাজ করেছি যতক্ষণ না এটি কোনও ত্রুটি তৈরি করে এবং কমপক্ষে ব্লগপস্টের বৈশিষ্ট্যগুলি সংরক্ষণ করে না। সম্পর্কের সাথে যা ঘটে তা পরিবর্তিত হয়: সাধারণত ট্যাগগুলি নতুন পিকে সঙ্গে ট্যাগ টেবিলের সাথে আবার যুক্ত করা হয় এবং সংরক্ষিত ব্লগপোস্টগুলি সেগুলি উল্লেখ করে, মূলগুলি নয়। অবশ্যই ফিরে আসা ট্যাগগুলিতে পিকে রয়েছে এবং সেভ / আপডেট পদ্ধতির আগে আমি পিকেগুলি যাচাই করি এবং এগুলি ডাটাবেসে থাকা সমান হয় তাই সম্ভবত EF মনে করে যে তারা নতুন বস্তু এবং সেই পিকেগুলি হ'ল অস্থায়ী।
একটি সমস্যা যা আমি জানি এবং এটি একটি স্বয়ংক্রিয় সহজ সমাধান সন্ধান করা অসম্ভব করে তুলতে পারে: যখন কোনও পোকো অবজেক্টের সংগ্রহ পরিবর্তন করা হয়, তখন উল্লিখিত ভার্চুয়াল সংগ্রহের সম্পত্তি দ্বারা এটি হওয়া উচিত, কারণ তখন ফিক্সআপক্লিকেশন কৌশলটি অন্য প্রান্তে বিপরীত রেফারেন্সগুলি আপডেট করবে বহু থেকে বহু সম্পর্কের তবে যখন কোনও ভিউ আপডেটেড ব্লগপোস্ট অবজেক্টটিকে "রিটার্ন" দেয় তখন তা ঘটে নি। এর অর্থ হ'ল সম্ভবত আমার সমস্যার কোনও সহজ সমাধান নেই, তবে এটি আমাকে অত্যন্ত দু: খিত করে তুলবে এবং আমি EF4-POCO-MVC জয়কে ঘৃণা করব :( এছাড়াও এর অর্থ এই হবে যে এমভিসি পরিবেশে ইএফ এটি করতে পারে না EF4 অবজেক্টের ধরণগুলি ব্যবহৃত হয় :( আমি মনে করি স্ন্যাপশট ভিত্তিক পরিবর্তন ট্র্যাকিংটি এটি খুঁজে পাওয়া উচিত যে পরিবর্তিত ব্লগপোস্টের বিদ্যমান পিকেগুলির সাথে ট্যাগগুলির সাথে সম্পর্ক রয়েছে।
বিটিডব্লিউ: আমি মনে করি ওয়ান-টু-র সম্পর্কের ক্ষেত্রে একই সমস্যা ঘটে (গুগল এবং আমার সহকর্মী তাই বলে)। আমি এটি বাড়িতে চেষ্টা করে দেখব, তবে এটি যদি আমার অ্যাপ্লিকেশনে আমার ছয়টি থেকে বহু সম্পর্কের ক্ষেত্রেও সহায়তা না করে তবেও :(।