मैं इकाई ढांचे में शामिल हो रहा हूं, लेकिन मैं अनिश्चित हूं कि क्या मैं कोड-प्रथम दृष्टिकोण में एक महत्वपूर्ण बिंदु को याद कर रहा हूं।
मैं https://genericunitofworkandrepositories.codeplex.com/ के कोड के आधार पर एक सामान्य रिपॉजिटरी पैटर्न का उपयोग कर रहा हूं और अपनी इकाइयां बनाई हैं।
लेकिन जब मैं इकाई को निम्नलिखित में चलाने या संशोधित करने का प्रयास करता हूं:
System.InvalidOperationException: इकाई प्रकार एस्टेट वर्तमान संदर्भ के लिए मॉडल का हिस्सा नहीं है।
यह तब होता है जब मैं इसे अपने भंडार से एक्सेस करने की कोशिश कर रहा हूं:
public virtual void Insert(TEntity entity)
{
((IObjectState)entity).ObjectState = ObjectState.Added;
_dbSet.Attach(entity); // <-- The error occurs here
_context.SyncObjectState(entity);
}
डेटाबेस (./SQLEXPRESS) ठीक बनाया गया है, लेकिन इकाइयाँ (टेबल) अभी स्टार्टअप पर नहीं बनाई गई हैं।
मुझे आश्चर्य है कि क्या मुझे संस्थाओं की मैपिंग को स्पष्ट करने की आवश्यकता है? क्या 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>();
}
}
क्या इस त्रुटि के होने का कोई विशेष कारण है? मैंने किसी भी मदद के बिना माइग्रेशन सक्षम करने और स्वचालित माइग्रेशन सक्षम करने का प्रयास किया है।