Я пытаюсь использовать EF 4 Code First pattern. Мой код инициализации выглядит следующим образом:
Создать построитель моделей:
private static DbModelBuilder CreateModelBuild()
{
var builder = new DbModelBuilder();
//add entity classes about 12 of them
builder.Conventions.Remove<IncludeMetadataConvention>();
return builder;
}
Создать сеанс:
private bool BuildSqlServerSession(DbModelBuilder builder)
{
var model =
builder.Build(new SqlConnection(@"connection string"));
var cm = model.Compile();
var context = new LittlePOSContext(cm);
var dbExists = context.Database.Exists();
_session = new EFSession(context);
return dbExists;
}
Это работает, когда я запускаю код в первый раз. Но при повторном запуске и попытке добавить объект с помощью context.Add(myEntity)
я получаю следующее исключение:
Model compatibility cannot be checked because the EdmMetadata type was not
included in the model. Ensure that IncludeMetadataConvention has been added
to the DbModelBuilder conventions.
Я попытался удалить следующую строку:
builder.Conventions.Remove<IncludeMetadataConvention>();
но я все еще получаю ошибку.