我创建了一个与EF没有任何关系的模型。当我在上下文中添加它并运行app for create数据库时,我在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);
}但是当我从应用程序中删除模型时,我的问题解决了,但是我需要这个模型。
请帮忙,非常感谢
发布于 2013-08-24 12:35:20
您应该在'UrlHelper'模型中设置"key“属性。如果首先在模型中使用EF代码,则应该将属性[Key]添加到其属性之一。如果您使用模型第一方法--在您的模型中,您应该将其中一个属性标记为主键。如果您使用数据库优先方法-您应该在表中创建主键。
https://stackoverflow.com/questions/18418366
复制相似问题