【发布时间】:2011-12-25 17:57:02
【问题描述】:
我正在尝试使用 EF 4 Code First 模式。我的初始化代码如下:
创建模型构建器:
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>();
但我仍然收到错误消息。
【问题讨论】:
标签: entity-framework-4 ef-code-first