无法检索'MyModel'的元数据.值不能为空.参数名称:key

本文关键字:参数 key 元数据 检索 MyModel 不能 | 更新日期: 2023-09-27 18:17:38

[ASP.net, MVC, c#, Microsoft VS 2010 Professional]

这是对MvcMovies ASP.net教程的修改。

我试图将控制器添加到我的'Beacon'模型,当我这样做时,我得到以下错误:

Unable to retrieve metadata for MvcMovie.Models.Beacon'.  Value cannot be null.
Parameter name: key

我在'添加控制器'对话框中的选项是:

Controller name: BeaconsController
Template: MVC Controller with read/write actions and views, using Entity Framework
Model Class: Beacon (MvcMovie.Models)
Data context class: BeaconDBContext (MvcMovie.Models)

My Beacon.cs Model class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace MvcMovie.Models
{
    public class Beacon
    {
        public int ID { get; set; }
        public System.Collections.Specialized.NameValueCollection QueryString { get; set; }
    }
    public class BeaconDBContext : DbContext
    {
        public DbSet<Beacon> Beacons { get; set; }
    }
}

My connection strings:

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=.'SQLEXPRESS;Initial Catalog=aspnet-MvcMovie-20130610094827;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
    <add name="MovieDBContext" connectionString="Data Source=(LocalDB)'v11.0;AttachDbFilename=|DataDirectory|'Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="BeaconDBContext" connectionString="Data Source=(LocalDB)'v11.0;AttachDbFilename=|DataDirectory|'Beacons.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
  </connectionStrings>

我已经成功地为Movie类创建了一个控制器,我已经基于所有的Beacon代码。

重新构建解决方案不能解决问题。

如有任何帮助,不胜感激。

谢谢!

无法检索'MyModel'的元数据.值不能为空.参数名称:key

尝试在添加控制器之前注释您的连接字符串(特别是BeaconDBContext)。

我知道这不是最好的解决方案,但它(对我来说)是有效的。