SQL সার্ভার ডেটা সরঞ্জামসমূহ এবং সত্তা ফ্রেমওয়ার্ক - এখানে কোনও সমন্বয় আছে?


11

লিনক 2 এসকিউএল ব্যবহার করে কোনও প্রকল্পের বাইরে এসে আমি সন্দেহ করি যে পরবর্তী (বৃহত্তর) কেউ আমাকে সত্তা ফ্রেমওয়ার্কের বাহুতে ঠেলাতে পারে। আমি এই বিষয়ে কিছু রিডিং আপ করেছি, তবে যা আমি সন্ধান করতে পারিনি তা এসকিউএল সার্ভার ডেটা সরঞ্জাম এবং সত্ত্বা ফ্রেমওয়ার্ক কীভাবে / হতে পারে / একসাথে ব্যবহার করা উচিত সে সম্পর্কে একটি সুসংগত গল্প।

  • তারা কি পুরোপুরি পৃথকভাবে কল্পনা করেছিল, এবং তাদের একসাথে ব্যবহার করা ভুল পথে চালিত হচ্ছে?
  • তারা কি একরকম পুরোপুরি অরথগোনাল এবং আমি বিষয়টিটি মিস করছি?

আমার মনে হয় যে আমি দুটোই চাওয়ার কিছু কারণ:

  • এসএসডিটি 'সংকলিত' (চেক করা) এবং সহজেই সংস্করণযোগ্য স্কেল এবং স্কিমা করার জন্য দুর্দান্ত
  • তবে এসএসডিটি 'মাইগ্রেশন / আপডেট' গল্পটি বিশ্বাসযোগ্য নয় (আমার কাছে): "কিছু আপডেট করুন" স্কিমার জন্য ঠিক কাজ করে, তবে কোনও উপায়ে (এএফএআইকি) উপায় নেই যে এটি ডেটার জন্য কাজ করতে পারে।
  • অন্যদিকে, আমি EF মাইগ্রেশনটি চেষ্টা করে দেখিনি এটি অনুরূপ সমস্যাগুলি উপস্থাপিত করে কিনা, তবে আপ / ডাউন বিটগুলি বেশ কার্যকর দেখায়।

দেখে মনে হচ্ছে এটি ইএফ দল বিবেচনা করছে এমন কিছু। github.com/aspnet/EntityFramework/issues/4321
Snæbjørn

উত্তর:


9

আমাকে অন্য একটি দৃষ্টিতে রাখি। সত্তা ফ্রেমওয়ার্ক ডেটাবেস রক্ষণাবেক্ষণ কোনও উদ্যোগ বা বড় ডাটাবেস প্রকল্পে একেবারে অকেজো।

সমস্যাগুলি হ'ল:

  • স্বয়ংক্রিয় স্কিমা আপডেট। এটি সম্পূর্ণরূপে আমি যা চাই তা নয় কারণ এটি সম্পূর্ণভাবে ডাটাবেস রক্ষণাবেক্ষণের মৌলিক লঙ্ঘন করে। সমস্যাগুলি হ'ল: (ক) নতুন সংস্করণে চালিত কেউ সমস্যা না পেয়ে ডাটাবেস আপডেট করে এবং (খ) ডিবিএর সাথে সাধারণভাবে ব্যাকআপ FIRST গ্রহণের সাথে আপডেট করা হয়। সুতরাং, স্বয়ংক্রিয় আপডেটগুলি অকেজো।

  • ডিবি তৈরির কাজটি মূলত প্রান্তের কেসকেই হ্রাস করে। উন্নত ডাটাবেস বৈশিষ্ট্যগুলি ব্যবহার করার চেষ্টাও করবেন না - যাই হোক না কেন। SQL সার্ভার উদাহরণ: সূচকগুলিতে ক্ষেত্র অন্তর্ভুক্ত, সূচকগুলিতে ফিল্টার, পার্টিশন, সংক্ষেপণ, ক্ষেত্রগুলির জন্য বৈধতা সংক্রান্ত নিয়ম।

  • মাইগ্রেশন - প্রান্তের কেসগুলি আবার ডিজেনরেটে ধরে নেওয়া হয়: কোনও ডেটা ট্রান্সফর্মেশন বা মাল্টি স্টেপ আপডেট সহজে হয় না। উদাহরণ: টেবিল এক্সের একটি historicalতিহাসিক "ব্যবহারকারী" ক্ষেত্র রয়েছে যা ব্যবহারকারীর কিছু করে রেকর্ড করে। নতুন সেটআপটির একটি ব্যবহারকারীর টেবিল রয়েছে, সুতরাং একটির ব্যবহারকারীর টেবিলটি তৈরি করা, তারপরে ব্যবহারকারীগণ তৈরি করা, তারপরে টেবিল এক্সে ব্যবহারকারী রেফারেন্স ক্ষেত্র তৈরি করা উচিত, তারপরে এটি ব্যবহারকারীর টেবিল থেকে ব্যবহারকারীর সাথে এটি আপডেট করুন, তারপরে ব্যবহারকারী ক্ষেত্রটি মুছুন।

এই পরিস্থিতিগুলি মোকাবেলা করার একমাত্র বুদ্ধিমান উপায় হ'ল প্রজন্ম এবং মাইগ্রেশন স্ক্রিপ্টগুলি এবং সঠিক সংস্করণ ing

এখন, এসএসডিটি - সত্তা ফ্রেমওয়ার্কের তুলনায় নির্দিষ্ট ডাটাবেস সংস্করণকে আরও ভাল সংস্করণ করার জন্য এটি দুর্দান্ত সরঞ্জাম কারণ এটি বাস্তবে - কাজ করে। যেমনটি: এটি সমস্ত বৈশিষ্ট্য রেকর্ড করে। কোনও ডাটাবেসে আমার কাছে নেই যে আমি প্রথমে কোড ব্যবহার করতে পারি - কারণ আমরা সর্বদা কমপক্ষে সূচকগুলি ফিল্টার করে থাকি;) ইএফ এমনকি আমার যা প্রয়োজন তার 10% পর্যন্ত পেতে পারি না।

আমাদের পদ্ধতিটি হ'ল:

  • ডাটাবেসে ডেটাবেস ডিজাইন করুন, তারপরে একটি এসএসডিটি মডিউলে সিঙ্ক করুন যা চেক ইন হয়ে যায় Sche স্কিমা সিঙ্কটি বিকাশকারীদের তাদের সংস্করণটি দ্রুত আপডেট করার অনুমতি দেয়। বর্তমান সংস্করণটি কোথাও কোথাও (একটি বিশেষ সার্ভারে) সহ একটি অনুমোদনযোগ্য মাস্টার ডাটাবেস থাকে তাই আমাদের বিপরীতে কাজ করার জন্য একটি রেফারেন্স সংস্করণ থাকে।

  • রিলিজগুলির জন্য প্রয়োজনীয় হিসাবে ডেল্টা স্ক্রিপ্টগুলি তৈরি করুন যা সংস্করণিত হয় এবং এগুলি একটি ডেটাবেজে স্থাপন করার জন্য একটি দুর্দান্ত প্রক্রিয়া থাকে।


3

এসকিউএল সার্ভার ডাটাবেস সহ ইএফ ব্যবহার করার একাধিক উপায় রয়েছে।

  1. কোড-ফার্স্ট ... আপনি ক্লাস লেখেন, এবং EF সম্পর্কিত সারণী তৈরি করে
  2. ডাটাবেস প্রথম ... আপনি টেবিলগুলি ডিজাইন করেন এবং EF ক্লাস তৈরি করে।

EF অগত্যা আপনার জন্য সমস্ত কাজ করবে না। EF আপনাকে সেখানে প্রায় 80 থেকে 95 শতাংশ পাবে। আপনার ডাটাবেস বিকাশের অন্যান্য 5 থেকে 20 শতাংশ প্রচেষ্টা ভিউ এবং সঞ্চিত পদ্ধতিগুলির মতো অনুকূলকরণের সাথে পরিপূরক হবে।

সুতরাং না, তারা অর্থেগোনাল নয়। তবে আপনার সামগ্রিক ডিজাইনের কৌশলটি কী হবে তা আপনাকে সিদ্ধান্ত নিতে হবে এবং তারপরে EF আদর্শ ফলাফলের চেয়ে কম উত্পাদন করে এমন অংশগুলিকে অনুকূল করতে আপনাকে সহায়তা করার জন্য এসএসডিটি-র মতো সরঞ্জামগুলির উপর নির্ভর করবে।


অদ্ভুত, এই উত্তরটি আমার ইনবক্সে দেখা যায় নি ...
বেনজল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.