Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .net MVC没有';无法识别DBContext类_C#_Asp.net_Asp.net Mvc_Entity Framework_Dbcontext - Fatal编程技术网

C# .net MVC没有';无法识别DBContext类

C# .net MVC没有';无法识别DBContext类,c#,asp.net,asp.net-mvc,entity-framework,dbcontext,C#,Asp.net,Asp.net Mvc,Entity Framework,Dbcontext,在你说这是一个已回答的问题之前,我检查了我在这个问题上找到的所有东西,没有任何东西对我有用 我正在看一个关于实体框架和在.NETMVC中做一个项目的教程。 我创建了以下类: namespace ShowReel.Models { public class ShowReelDB : DbContext { public DbSet<Tvshow> Tvshows { get; set; } public DbSet<EpisodeGuide> Episode

在你说这是一个已回答的问题之前,我检查了我在这个问题上找到的所有东西,没有任何东西对我有用

我正在看一个关于实体框架和在.NETMVC中做一个项目的教程。 我创建了以下类:

namespace ShowReel.Models
{
public class ShowReelDB : DbContext
{
    public DbSet<Tvshow> Tvshows { get; set; }
    public DbSet<EpisodeGuide> Episode { get; set; }
}
}
以下是电视节目和插曲表的要素:

public class EpisodeGuide
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Seasons { get; set; }
    public Array EpisodesPerSeason { get; set; }
    public DateTime Date { get; set; }
}

 public class Tvshow
{
    public int Id { get; set; }
    public string Type { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public double Rating { get; set; }
    public string Image { get; set; }
    public int Year { get; set; }

    public int EpisodeGuideID { get; set; }
}
观点如下:

@foreach (var item in Model)
{


@DisplayFor(modelItem=>item.Name)
@Html.DisplayFor(modelItem=>item.Description)

轨道

}

您必须至少创建一个构造函数,并将connectionstring或connectionstring的名称传递给
base
-构造函数调用:

public class ShowReelDB :DbContext
{
    public ShowReelDB ():base("DefaultConnection")
    {
    }

    public DbSet<Tvshow> Tvshows { get; set; }
    public DbSet<EpisodeGuide> Episode { get; set; }
}
public类ShowReelDB:DbContext
{
public ShowReelDB():base(“DefaultConnection”)
{
}
公共数据库集{get;set;}
公共数据库集插曲{get;set;}
}
然后,您可以使用迁移来创建代码优先的应用程序。只需谷歌代码优先迁移

或者,如果数据库已经存在,就按原样使用它。
如果您有任何问题,请添加
数据库.SetInitializer(null)编码到构造函数中。

如果允许它创建一个新的空数据库,然后将该数据库的连接字符串传递到DbContext并运行应用程序,会发生什么情况?它是否为您创建了必要的表?DBCOntext类和connectionstring在哪里。请分享这些。另外,您在哪里添加了这种is DB First方法的迁移?我将connectionstring放入其中,并且已经给出了DBContext类。。至少我认为这就是你所说的类。@Spirit\u Scarlet你想在sql server中查看你的表吗?迁移呢?是否包括和执行这些文件。请尝试运行更新数据库commandIt worker。我成功地连接了数据库。非常感谢。不过我还有一个问题。当我运行该应用程序时,我收到此错误,概念端的类型“ShowReel.Models.Array”无法映射到对象端的类型“System.Array”。这两种类型都必须是抽象类型,或者都必须是具体类型。你知道有什么问题吗?@Spirit_Scarlet我想它的意思是,你不能映射int[]之类的类型。。要检查您的问题,请向我展示您正在添加到上下文中的模型。我用模型、表和视图更新了问题。@Spirit\u Scarlet由于您的模型必须以关系方式表示,因此只能使用基本类型
Array
不是基元类型,不能将其用作列的属性类型:(创建新表
epiodeperseason
或其他内容)我将其更改为Int,但仍然得到相同的错误。
public class EpisodeGuide
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Seasons { get; set; }
    public Array EpisodesPerSeason { get; set; }
    public DateTime Date { get; set; }
}

 public class Tvshow
{
    public int Id { get; set; }
    public string Type { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public double Rating { get; set; }
    public string Image { get; set; }
    public int Year { get; set; }

    public int EpisodeGuideID { get; set; }
}
@foreach (var item in Model)
<div class="row">
    <div class="col-md-4">
        <img src="../Content/Images/@item.Image" style="height:200px; width:300px;" />
    </div>
    <div class="col-md-8">
        <h2> @Html.DisplayFor(modelItem => item.Name)</h2>
        <p>  @Html.DisplayFor(modelItem => item.Description)</p>
        <button class="btn btn-danger btn-lg news" id="@Html.DisplayFor(modalItem => item.Id)">Track</button>
    </div>

</div>
<hr />
public class ShowReelDB :DbContext
{
    public ShowReelDB ():base("DefaultConnection")
    {
    }

    public DbSet<Tvshow> Tvshows { get; set; }
    public DbSet<EpisodeGuide> Episode { get; set; }
}