আমি কীভাবে অনেক ভাগ্য ছাড়াই প্রথম EF 4.1 কোড ব্যবহার করে বিদেশী কী সম্পর্ক এবং অন্যান্য প্রতিবন্ধকতাগুলি ঘোষণা করতে পারি সে সম্পর্কিত সংস্থানগুলি অনুসন্ধান করছি। মূলত আমি কোডে ডেটা মডেলটি তৈরি করছি এবং সেই মডেলটিকে জিজ্ঞাসা করতে এমভিসি 3 ব্যবহার করছি। এমভিসি এর মাধ্যমে সমস্ত কিছু কাজ করে যা দুর্দান্ত (মাইক্রোসফ্টের কাছে কুডোস!) তবে এখন আমি এটি কাজ না করা চাই কারণ আমার কাছে ডেটা মডেলের সীমাবদ্ধতা থাকা দরকার।
উদাহরণস্বরূপ, আমার কাছে একটি অর্ডার অবজেক্ট রয়েছে যার একটি টন বৈশিষ্ট্য রয়েছে যা বাহ্যিক বস্তু (টেবিল)। এখনই আমি কোনও অর্ডার তৈরি করতে পারছি সমস্যা নেই, তবে বিদেশী কী বা বাহ্যিক অবজেক্টগুলি যুক্ত করতে সক্ষম না হয়ে। এমভিসি 3 এটি কোনও সমস্যা সেট আপ করে।
আমি বুঝতে পারি যে সংরক্ষণ করার আগে আমি কেবলমাত্র নিয়ামক শ্রেণিতে নিজেকে বস্তুগুলি যুক্ত করতে পারতাম, তবে আমি চাই ডিবিকন্টেক্সটকে কল করুন han সেভচেনজেস () সীমাবদ্ধতার সম্পর্কগুলি পূরণ না করা হলে ব্যর্থ হওয়ার জন্য।
নতুন তথ্য
সুতরাং, বিশেষত, আমি যখন কোনও গ্রাহক অবজেক্ট নির্দিষ্ট না করে কোনও অর্ডার অবজেক্টটি সংরক্ষণ করার চেষ্টা করি তখন আমি তার ব্যতিক্রম ঘটতে চাই। বেশিরভাগ কোড ফার্স্ট ইএফ ডকুমেন্টেশনে বর্ণিত হিসাবে আমি কেবলমাত্র বস্তুগুলি রচনা করলে এই আচরণটি বলে মনে হচ্ছে না।
সর্বশেষ কোড:
public class Order
{
public int Id { get; set; }
[ForeignKey( "Parent" )]
public Patient Patient { get; set; }
[ForeignKey("CertificationPeriod")]
public CertificationPeriod CertificationPeriod { get; set; }
[ForeignKey("Agency")]
public Agency Agency { get; set; }
[ForeignKey("Diagnosis")]
public Diagnosis PrimaryDiagnosis { get; set; }
[ForeignKey("OrderApprovalStatus")]
public OrderApprovalStatus ApprovalStatus { get; set; }
[ForeignKey("User")]
public User User { get; set; }
[ForeignKey("User")]
public User Submitter { get; set; }
public DateTime ApprovalDate { get; set; }
public DateTime SubmittedDate { get; set; }
public Boolean IsDeprecated { get; set; }
}
রোগীর জন্য ভিএস উত্পন্ন ভিউ অ্যাক্সেস করার সময় আমি এখন এই ত্রুটিটি পেয়েছি:
ভুল বার্তা
'ফিজিশিয়ানপোর্টাল.মোডেলস.অর্ডার' টাইপ করে সম্পত্তি 'রোগী' সম্পর্কিত ফরেনকিঅ্যাট্রিবিউট বৈধ নয়। নির্ভরযোগ্য টাইপ 'ফিজিশিয়ানপোর্টাল.মোডেলস.আর্ডার' তে বিদেশী কী নাম 'প্যারেন্ট' পাওয়া যায়নি। নামের মানটি বিদেশী কী সম্পত্তি নামগুলির কমা দ্বারা পৃথক হওয়া তালিকা হওয়া উচিত।
শুভেচ্ছা সহ,
গাইডো