无法使用实体框架创建控制器 - 无法检索“”的元数据

本文关键字:检索 元数据 创建 实体 框架 控制器 | 更新日期: 2023-09-27 18:35:33

我是一个菜鸟 ASP.net,不知道为什么没有创建控制器,在教程中,我将其从一个单词复制到另一个单词,它工作正常,允许我创建一个数据库。

遵循本教程的结构,但以我自己的方式(只是更改了一些名称)-http://www.asp.net/mvc/overview/getting-启动/介绍/添加模型

慈善.cs :

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace CharityWebsite.Models
{
    public class Charity
    {
        public String DisplayName { get; set; }
        public DateTime Date { get; set; }
        public Double Amount { get; set; }
        public Double TaxBonus { get; set; }
        public String Comment { get; set; }
    }
    public class CharityDBContext : DbContext
    {
        public DbSet<Charity> Donations { get; set; }
    }
}

网络配置:

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)'MSSQLLocalDB;AttachDbFilename=|DataDirectory|'aspnet-CharityWebsite-20160221090932.mdf;Initial Catalog=aspnet-CharityWebsite-20160221090932;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="CharityDBContext"
        connectionString="Data Source=(LocalDB)'v11.0;AttachDbFilename=|DataDirectory|'Donations.mdf;Integrated Security=True"
        providerName="System.Data.SqlClient"
    />
</connectionStrings>

错误:

"无法检索慈善机构网站.模型.慈善机构的元数据" CharityWebsite.Models.Charity 没有定义密钥。定义键 此实体类型。捐赠:实体类型:实体集 "捐赠"基于 在未定义键的类型"慈善机构"上。

无法使用实体框架创建控制器 - 无法检索“”的元数据

要解决此问题,请尝试在模型中添加主键。

[Key]
[Required]        
public long ID{ get; set; }

这应该可以解决问题。