Я попадаю в Entity Framework, но я не уверен, что мне не хватает критической точки в кодовом подходе.
Я использую общий шаблон репозитория на основе кода https://genericunitofworkandrepositories.codeplex.com/ и создал мои сущности.
Но когда я пытаюсь получить доступ или изменить объект, я запускаю следующее:
System.InvalidOperationException: тип объекта Estate не является частью модели для текущего контекста.
Это происходит, когда я пытаюсь получить к нему доступ из своего репозитория:
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>();
}
}
Есть ли какая-то конкретная причина возникновения этой ошибки? Я попытался включить миграцию и включить автоматическую миграцию без какой-либо помощи.