我创建了一个与EF没有任何关系的模型。 当我在上下文中添加它并为create database运行app时,我在Application-start中有一个错误:
在模型生成期间检测到一个或多个验证错误: System.Data.Edm.EdmEntityType :: EntityType'UrlHelper'没有定义键。定义此EntityType的键。 System.Data.Edm.EdmEntityType :: EntityType'RequestContext'没有定义键。定义此EntityType的键。 System.Data.Edm.EdmEntityType :: EntityType'HttpContextBase'没有定义键。定义此EntityType的键。 System.Data.Edm.EdmEntityType :: EntityType'Exception'没有定义键。定义此EntityType的键。 System.Data.Edm.EdmEntityType :: EntityType'Type'没有定义键。定义此EntityType的密钥。
我的global.asax中的代码如下所示:
public class MyInitializer
: DropCreateDatabaseIfModelChanges<DBTa>
{
}
protected void Application_Start()
{
//for creating and initializing database
System.Data.Entity.Database.SetInitializer(new MyInitializer());
**DBTa db = new DBTa();**//Error shows here
db.Database.Initialize(true);
//
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
但是当我从app中移除模型时我的问题解决了,但我需要这个模型。
请帮忙 非常感谢
答案 0 :(得分:0)
你应该设置&#34; key&#34; 'UrlHelper'
模型中的属性。
如果您首先使用EF代码 - 在模型中,您应该将属性[Key]
添加到其中一个属性中。
如果使用模型优先方法 - 在模型中,您应将其中一个属性标记为主键。
如果您使用数据库第一种方法 - 您应该在表中创建主键。