টেবিল এবং savechanges দেখুন রূপান্তর আমাকে আশাবাদী সমাহার ব্যতিক্রম দেয়

আমি এনটিটি ফ্রেমওয়ার্ক 4 (স্ব-ট্র্যাকিং সত্ত্বাগুলি ব্যবহার করে) এর সাথে কাজ করছি এবং একটি ভিউ অ্যাক্সেস করছি, এটি দুটি টেবিলের একত্রিতকরণ। তাই যখন আমি ভিউয়ের তথ্য আপডেট করি, তখন আমি ভিউটির STE দেখতে ডিপোজিটরিতে রিপোজিটরিতে পাঠাচ্ছি।

আমি নিম্নলিখিত কাজ করেছেন:

যখন আমি হালনাগাদ তথ্য সহ আমার দৃষ্টিভঙ্গি পাই তখন আমি আমার STE1 এবং STE2 তৈরি করি। কিভাবে আমি একটি STE তৈরি, এটি একটি যোগ রাষ্ট্র সঙ্গে তৈরি করা হয়। তাই আমি রাষ্ট্রের সংশোধন করা হয়েছে যে দৃশ্যের STE অবস্থা জন্য জানি কিভাবে, আমি পদ্ধতি সঙ্গে আমার দুটি STEs অবস্থা পরিবর্তন <�কোড> MarkedAsModified

তারপর, দেখুন কিভাবে STE- র মধ্যে দুটি টেবিলের তথ্য রয়েছে, আমি ভিউ থেকে সঠিক STE- তে তথ্য পাস করি এবং STE থেকে objectContext এ পরিবর্তনগুলি প্রয়োগ করি।

অবশেষে আমি সংরক্ষণ পরিবর্তন কিন্তু এই ধাপে আমি একটি অপটিমাইজিক কনফারেন্স ব্যতিক্রম পাই। আমি মনে করি যে এটি STE দ্বারা রাজ্য থেকে যোগ করা হয়েছে </কোড> থেকে পরিবর্তিত যাতে প্রসঙ্গটি সনাক্ত করে যে সৃষ্টির মধ্যে কিছু সংশোধন রয়েছে এবং SaveChanges </কোড>, কিন্তু আমি STE- এ AcceptChanges এর চেষ্টা করি, পরে সংশোধিত হিসাবে চিহ্নিত করা এবং পরিবর্তনগুলি প্রয়োগ করা এবং পরিশেষে SaveChanges , কিন্তু সমস্যাটি বজায় থাকে।

আমি কিভাবে সমস্যার সমাধান করতে পারি? ভিউ এবং এনটিটি ফ্রেমওয়ার্ক v4 সঙ্গে কাজ করার জন্য একটি ভাল উপায় আছে?

ধন্যবাদ। Daimroc।

সম্পাদনা 1: আমার এখনও সমস্যা আছে। আমার কোড নিম্নলিখিত হয়:

সামগ্রীগুলি myComponent = নতুন সামগ্রী ();//এটি একটি STE হয় myComponent.Rereference = myView.Reference; ...//অন্যান্য বৈশিষ্ট্য myComponent.MarkedAsModified ();//এটি প্রয়োজন কারণ আমি তথ্য আপডেট করতে চাই না, কোন নতুন রেজিস্টার যোগ করুন। myContext.ApplyChanges ("সামগ্রী", myComponent); miContexto.SaveChanges ();

SaveChanges- তে, আমি ব্যতিক্রমটি পেতে পারি: আপডেট, সন্নিবেশ, বা মুছে ফেলার একটি অপ্রত্যাশিত সারি (0) দ্বারা প্রভাবিত। সত্ত্বা লোড করা হয় পরে সংস্থাগুলির সংশোধন বা মুছে ফেলা হতে পারে। অবজেক্টস্টেট ম্যানেজার এন্ট্রি রিফ্রেশ করুন

কোন সমস্যা? আমি কি একটি নতুন STE তৈরি করতে পারব না?

ধন্যবাদ।

1
যোগ সম্পাদিত
মতামত: 1
আপনি কি কোড ব্লক প্রদান করতে পারেন যাতে আমরা দেখতে পারি আপনি কি করেন?
যোগ লেখক George Taskos, উৎস

1 উত্তর

আমি সমস্যার সমাধান করার উপায় খুঁজে পেয়েছি।

প্রথম সমাধানটিতে, ডাটাবেসের বিদ্যমান নিবন্ধগুলি পেতে ডেটা বেসে একটি প্রশ্ন জিজ্ঞাসা করা হয়েছিল। এই প্রসঙ্গে সত্তা যোগ করুন এবং তারপর এটি তথ্য সংশোধন করা সম্ভব, এবং সঠিকভাবে পরিবর্তনগুলি সংরক্ষণ করুন।

কিন্তু পরে, আমি প্রাসঙ্গিকভাবে সংশোধিত সত্ত্বা যোগ করার জন্য তথ্য বেস তথ্য জিজ্ঞাসা করতে প্রয়োজন এড়াতে উপায় খুঁজে পাওয়া যায় নি।

উপায় নিম্নলিখিত কোড ব্যবহার করা হয়:

Customers myCustomer = new Customers  { IDCustomer = myCustomer.IDCustomer };
myContext.Customers.Attach(myCustomer);

//update the data of the entity.

myContext.SaveChanges();

সমাধান প্রাথমিক কী সেটিং একটি নতুন সত্তা তৈরি করা হয়। যদি সত্তাটি FK থাকে তবে এটি একই ভাবে নির্দেশিত হবে। এই মুহুর্তে, সত্তা যোগ রাষ্ট্র আছে।

পরে, প্রসঙ্গে সংযুক্ত করা হয়, এবং তারপর সংশোধন করা যেতে পারে। যখন একটি ক্ষেত্র পরিবর্তিত হয়, তখন সত্তা তার অবস্থা পরিবর্তন করে পরিবর্তন করে, তাই যখন সংরক্ষণচিহ্নগুলি() বলা হয়, তখন EF সত্তাটি আপডেট করে, নতুন একটি যোগ করার চেষ্টা করে না।

আমি এই তথ্যটি এই লিঙ্ক এই পোস্টে সমাধানটি একটি ডাটাবেসে পুনরুদ্ধার ছাড়া একটি সত্তা মুছে ফেলার জন্য হয়, আমরা একটি বিদ্যমান নিবন্ধন পরিবর্তন করতে চান, তাহলে ধারণা খুব কাজ করে।

1
যোগ
এটি একটি আংশিক সমাধান, আমি STE ব্যবহার করতে চাই এবং চিহ্নিত এএসএমডিফাইড ব্যবহার করতে পারি এবং তারপর প্রসঙ্গে পরিবর্তনগুলি প্রয়োগ করতে পারি।
যোগ লেখক Álvaro García, উৎস