আমি সত্তা ফ্রেমওয়ার্কে উঠছি, তবে আমি কোড-ফার্স্ট পদ্ধতির কোনও সমালোচনা পয়েন্ট মিস করছি কিনা তা সম্পর্কে আমি নিশ্চিত নই।
আমি https://genericunitofworkandrepositories.codeplex.com/ থেকে কোডের উপর ভিত্তি করে জেনেরিক সংগ্রহস্থল প্যাটার্ন ব্যবহার করছি এবং আমার সত্তা তৈরি করেছি।
কিন্তু যখন আমি সত্তাটি অ্যাক্সেস বা সংশোধন করার চেষ্টা করি তখন আমি নিম্নলিখিতগুলিতে চলে যাই:
System.InuthorOperationException: সত্তা টাইপ এস্টেট বর্তমান প্রসঙ্গে মডেলের অংশ নয়।
আমি যখন আমার সংগ্রহশালা থেকে এটি অ্যাক্সেস করার চেষ্টা করছি তখন এটি ঘটে:
public virtual void Insert(TEntity entity)
{
((IObjectState)entity).ObjectState = ObjectState.Added;
_dbSet.Attach(entity); // <-- The error occurs here
_context.SyncObjectState(entity);
}
ডাটাবেস (./SQLEXPPress) ঠিক সূক্ষ্মভাবে তৈরি করা হয়েছে, তবে সত্ত্বাগুলি (সারণী) শুরুতে তৈরি করা হয়নি created
আমি ভাবছি যদি সত্তাগুলির ম্যাপিং স্পষ্ট করে দেওয়া দরকার হয়? EF কি নিজের দ্বারা এটি সক্ষম নয়?
আমার সত্তা হ'ল:
public class Estate : EntityBase
{
public int EstateId { get; set; }
public string Name { get; set; }
}
আমার প্রসঙ্গটি যেমন:
public partial class DimensionWebDbContext : DbContextBase // DbContextBase inherits DbContext
{
public DimensionWebDbContext() :
base("DimensionWebContext")
{
Database.SetInitializer<DimensionWebDbContext>(new CreateDatabaseIfNotExists<DimensionWebDbContext>());
Configuration.ProxyCreationEnabled = false;
}
public new IDbSet<T> Set<T>() where T : class
{
return base.Set<T>();
}
}
এই ত্রুটি দেখা দেওয়ার কোনও নির্দিষ্ট কারণ আছে কি? আমি মাইগ্রেশন সক্ষম করার চেষ্টা করেছি এবং কোনও সাহায্য ছাড়াই স্বয়ংক্রিয়ভাবে স্থানান্তর সক্ষম করতে সক্ষম হয়েছি।