【问题标题】:Cannot create controller with Entity framework - Unable to retrieve metadata for ' '无法使用实体框架创建控制器 - 无法检索“”的元数据
【发布时间】:2016-02-22 05:53:43
【问题描述】:

我是 ASP.net 的菜鸟,不知道为什么没有创建控制器,在教程中我将它逐字复制它工作正常,允许我创建数据库。

按照本教程的结构,但以我自己的方式(只是改了几个名字)-http://www.asp.net/mvc/overview/getting-started/introduction/adding-a-model

Charity.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; }
    }
}

Web.Config:

<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 的元数据' CharityWebsite.Models.Charity 没有定义键。定义键 这个实体类型。 Donations:EntityType:EntitySet 'Donations' 是基于 在没有定义键的“慈善”类型上。

【问题讨论】:

  • 您的模型没有主键。尝试添加一个 Id 字段。
  • 我的日子,谢谢!
  • 还知道如何打开文本文件读取和显示内容吗?我需要为此创建一个单独的表单吗?
  • 您可以使用 File.ReadAllText() 在控制器中读取文件的所有内容,然后将它们传递给视图。
  • 谢谢兄弟,不胜感激:)

标签: c# asp.net asp.net-mvc


【解决方案1】:

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

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

这应该可以解决问题。

【讨论】:

  • 顺便说一句 - C# 没有 bigint 类型 - 也许你的意思是 long 或 BigInteger
  • @Teodor 感谢您的纠正,我已经编辑了代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2014-09-30
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多