0

我在 ASP.NET MVC 4 项目中使用 Entity Framework 5 Code First,我收到以下错误:

在模型生成期间检测到一个或多个验证错误:

\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'Variable' 没有定义键。定义此 EntityType 的键。\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'Variables' 基于没有定义键的类型'Variable'。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.Entity.ModelConfiguration.ModelValidationException:在模型生成期间检测到一个或多个验证错误:

\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'Variable' 没有定义键。定义此 EntityType 的键。\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'Variables' 基于没有定义键的类型'Variable'。

在过去的一个小时里,这一直让我发疯。我已经搜索了我的解决方案,根本没有所谓的“变量”!

我的上下文如下所示:

public class MyContext : DbContext, IDisposedTracker
{

    public DbSet<Project> Projects { get; set; }

    public bool IsDisposed { get; set; }
}

我的模型如下所示:

public class Project
{
    [Key]
    public int Uid { get; set; }

    public string Id { get; set; }

    public string Name { get; set; }

    public string Description { get; set; }

    public List<Task> Tasks { get; internal set; }
}

任务如下所示:

public class Task
{
    [Key]
    public int Uid { get; set; }

    public string Id;

    public string Name;
}
4

1 回答 1

1

您要求建立没有要关联的表的关系。

需要有一个地方放置对象任务

public class MyContext : DbContext, IDisposedTracker
{

    public DbSet<Project> Projects { get; set; }
    public DbSet<Task> Tasks { get; set; }
    public bool IsDisposed { get; set; }
}
于 2015-02-03T21:00:18.330 回答