ডেটাবেস ফার্স্ট এবং ইডিএমএক্সের সাহায্যে নতুন এএসপিএন পরিচয় ব্যবহার করা সম্ভব? নাকি শুধুমাত্র কোড দিয়ে প্রথমে?
আমি যা করেছি তা এখানে:
1) আমি একটি নতুন এমভিসি 5 প্রকল্প তৈরি করেছি এবং নতুন পরিচয়টি আমার ডাটাবেজে নতুন ব্যবহারকারী এবং ভূমিকা সারণী তৈরি করেছিলাম।
2) আমি তখন আমার ডাটাবেস ফার্স্ট EDMX ফাইলটি খুললাম এবং নতুন পরিচয় ব্যবহারকারীদের টেবিলটিতে টেনে আনলাম যেহেতু আমার সাথে এটি সম্পর্কিত অন্যান্য সারণী রয়েছে।
3) EDMX সংরক্ষণ করার পরে, ডাটাবেস প্রথম POCO জেনারেটর স্বয়ংক্রিয়ভাবে একটি ব্যবহারকারী শ্রেণি তৈরি করবে। তবে ইউজারম্যানেজার এবং রোলম্যানেজার প্রত্যাশা করে যে কোনও ব্যবহারকারী শ্রেণি নতুন আইডেন্টিটি নেমস্পেস (মাইক্রোসফট.এএসপনেট.আইডেন্টিটি.আইউজার) থেকে উত্তরাধিকার সূত্রে প্রাপ্ত, সুতরাং পোকো ব্যবহারকারী শ্রেণিটি ব্যবহার করা কার্যকর হবে না।
আমি অনুমান করি যে কোনও সম্ভাব্য সমাধানটি হ'ল আমার পোকো জেনারেশন ক্লাসগুলি সম্পাদনা করে আমার ব্যবহারকারী শ্রেণি আইইউসার থেকে উত্তরাধিকার পেতে পারে?
বা এএসপি.এনইটি পরিচয়টি কেবল কোড ফার্স্ট ডিজাইনের সাথেই সামঞ্জস্যপূর্ণ?
++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++
আপডেট: নীচে অ্যান্ডারস হাবেলের পরামর্শ অনুসরণ করে, আমি এটি করেছি। এটি কাজ করে তবে আমি ভাবছি যে এর থেকে আরও মার্জিত সমাধান আছে কিনা।
1) আমি আমার অটো উত্পন্ন সংস্থাগুলির মতো একই নেমস্পেসের মধ্যে একটি আংশিক বর্গ তৈরি করে আমার সত্তা ব্যবহারকারী শ্রেণি প্রসারিত করেছি।
namespace MVC5.DBFirst.Entity
{
public partial class AspNetUser : IdentityUser
{
}
}
2) আমি আমার ডেটা কনটেক্সটকে ডিবিসিওন্টেক্সটের পরিবর্তে আইডেন্টিটি ডিবিসিএনটেক্সট থেকে উত্তরাধিকার হিসাবে পরিবর্তন করেছি। মনে রাখবেন যে প্রতিবার আপনি আপনার EDMX আপডেট করবেন এবং DBContext এবং সত্তা শ্রেণি পুনরায় তৈরি করবেন, আপনাকে এটিকে আবার সেট করতে হবে।
public partial class MVC5Test_DBEntities : IdentityDbContext<AspNetUser> //DbContext
3) আপনার অটো উত্পন্ন ব্যবহারকারী সত্তা শ্রেণীর মধ্যে, আপনাকে অবশ্যই নিম্নলিখিত 4 ক্ষেত্রগুলিতে ওভাররাইড কীওয়ার্ড যুক্ত করতে হবে বা এই ক্ষেত্রগুলিকে আইডেন্টিউজারের উত্তরাধিকার সূত্রে প্রাপ্ত বলে মন্তব্য করতে হবে (পদক্ষেপ 1)। মনে রাখবেন যে প্রতিবার আপনি আপনার EDMX আপডেট করবেন এবং DBContext এবং সত্তা শ্রেণি পুনরায় তৈরি করবেন, আপনাকে এটিকে আবার সেট করতে হবে।
override public string Id { get; set; }
override public string UserName { get; set; }
override public string PasswordHash { get; set; }
override public string SecurityStamp { get; set; }