C# 使用带有foreach的mvc从数据库获取数据

C# 使用带有foreach的mvc从数据库获取数据,c#,asp.net-mvc,web-applications,model-view-controller,foreach,C#,Asp.net Mvc,Web Applications,Model View Controller,Foreach,我试图从数据库中检索数据并写出记录,但出现错误: An exception of type 'System.NullReferenceException' occurred in App_Web_uaarpxja.dll but was not handled in user code Additional information: Object reference not set to an instance of an object. 数据库模型PastaModel.cs public

我试图从数据库中检索数据并写出记录,但出现错误:

An exception of type 'System.NullReferenceException' occurred in App_Web_uaarpxja.dll but was not handled in user code

Additional information: Object reference not set to an instance of an object.
数据库模型PastaModel.cs

public class Item
{
    [Key]
    public int Itemid { get; set; }
    public string Itemname { get; set; }
    public int Itemprice { get; set; }
    public int Currentstock { get; set; }
    public string Itemtype { get; set; }
    public string pictureURL { get; set; }
}

public class PastaContext : DbContext
{

    public PastaContext()
        : base("name=PastaModel")
    {
        Database.CreateIfNotExists();
    }

    public DbSet<Item> Items { get; set; }


    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }

}
public class ItemController : Controller
{

    private PastaContext db = new PastaContext();


    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Index()
    {
        return View();
    }

}
查看Index.cshtml

@model IEnumerable<Oblig1.Models.Item>

<!DOCTYPE html>

<br />
<br />

<html>
<head>
    <title>Index</title>
</head>
<body>


@foreach (var item in Model)
{

     <p>@item.Itemname</p>

}


</body>
</html>
@model IEnumerable


指数 @foreach(模型中的var项目) { @item.Itemname

}
我在这一行
@foreach(模型中的var项){


编辑:添加了DbContext

之所以发生这种情况,是因为您并没有从返回视图的控制器中注入任何内容

您的视图希望从控制器中获得
IEnumerable
,但由于您没有从控制器中传递模型,因此
model
中的视图将为空

请尝试以下代码:-

public ActionResult Index()
    {
        var model = db.Items.ToList(); ////Your model that you want to pass
        return View(model);
    }

这是因为您并没有从返回视图的控制器向视图中注入任何内容

您的视图希望从控制器中获得
IEnumerable
,但由于您没有从控制器中传递模型,因此
model
中的视图将为空

请尝试以下代码:-

public ActionResult Index()
    {
        var model = db.Items.ToList(); ////Your model that you want to pass
        return View(model);
    }

这是因为您并没有从返回视图的控制器向视图中注入任何内容

您的视图希望从控制器中获得
IEnumerable
,但由于您没有从控制器中传递模型,因此
model
中的视图将为空

请尝试以下代码:-

public ActionResult Index()
    {
        var model = db.Items.ToList(); ////Your model that you want to pass
        return View(model);
    }

这是因为您并没有从返回视图的控制器向视图中注入任何内容

您的视图希望从控制器中获得
IEnumerable
,但由于您没有从控制器中传递模型,因此
model
中的视图将为空

请尝试以下代码:-

public ActionResult Index()
    {
        var model = db.Items.ToList(); ////Your model that you want to pass
        return View(model);
    }


然后我得到,
传入字典的模型项的类型为“System.Data.Entity.DbSet”
1[Oblig1.Models.item]”,但此字典需要一个类型为“Oblig1.Models.item.”的模型项。“当我尝试它时。新错误…”
传入字典的模型项的类型为“System.Collections.Generic.List``1[Oblig1.Models.item],但此词典需要类型为“Oblig1.Models.item”的模型项。
@Neelhave您在视图中做了更改吗?@mv700您的视图需要IEnumerables您视图的第一行“@model IEnumerable”?@mv700Yes,
@model IEnumerable
@NeelThen i get,
传递到字典中的模型项的类型为'System.Data.Entity.DbSet
1[Oblig1.Models.item],但此词典需要类型为'Oblig1.Models.item'的模型项。`当我尝试它时。新错误…
传递到词典中的模型项的类型为'System.Collections.Generic.List``1[Oblig1.Models.item],但此词典需要类型为“Oblig1.Models.item”的模型项。
@Neelhave您在视图中做了更改吗?@mv700您的视图需要IEnumerables您视图的第一行“@model IEnumerable”?@mv700Yes,
@model IEnumerable
@NeelThen i get,
传递到字典中的模型项的类型为'System.Data.Entity.DbSet
1[Oblig1.Models.item],但此词典需要类型为'Oblig1.Models.item'的模型项。`当我尝试它时。新错误…
传递到词典中的模型项的类型为'System.Collections.Generic.List``1[Oblig1.Models.item],但此词典需要类型为“Oblig1.Models.item”的模型项。
@Neelhave您在视图中做了更改吗?@mv700您的视图需要IEnumerables您视图的第一行“@model IEnumerable”?@mv700Yes,
@model IEnumerable
@NeelThen i get,
传递到字典中的模型项的类型为'System.Data.Entity.DbSet
1[Oblig1.Models.item],但此词典需要类型为'Oblig1.Models.item'的模型项。`当我尝试它时。新错误…
传递到词典中的模型项的类型为'System.Collections.Generic.List``1[Oblig1.Models.item],但此词典需要“Oblig1.Models.item”类型的模型项。
@Neelhave您在视图中做了更改吗?@mv700您的视图需要IEnumerables您视图的第一行“@model IEnumerable”?@mv700Yes,
@model IEnumerable
@Neel