Asp.net mvc 同步使用项目类作为数据库表

Asp.net mvc 同步使用项目类作为数据库表,asp.net-mvc,entity-framework,mapping,Asp.net Mvc,Entity Framework,Mapping,让我抓狂的是,将我的项目类用作数据库表,即实现映射。详情如下: 这是我的产品表: 以下是我的数据库中的PRODUCTS表: PRODUCTS -------------------- PRODUCT_ID PRODUCT_NAME PRODUCT_DESCRIPTION PRODUCT_PRICE PRODUCT_CATEGORY 以下是我的DbContext类: public partial class ProductContext : DbContext { public

让我抓狂的是,将我的项目类用作数据库表,即实现映射。详情如下:

这是我的产品表:

以下是我的数据库中的PRODUCTS表:

PRODUCTS
--------------------
PRODUCT_ID
PRODUCT_NAME
PRODUCT_DESCRIPTION
PRODUCT_PRICE
PRODUCT_CATEGORY
以下是我的DbContext类:

    public partial class ProductContext : DbContext
{

    public ProductContext()
        : base("Name=ProductContext")
    {
    }

    public DbSet<PRODUCTS> Product { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Configurations.Add(new ClassAllMap());
    }
}
这是我的控制器类:

    public class ProductController : Controller
{
    private Entities3 repository;

    public ProductController(Entities3 productRepository)
    {
        this.repository = productRepository;
    }

    public ViewResult List()
    {
        List<Product> listProduct = new List<Product>();
        using (var db = new ProductContext())
        {

            var products = db.Product.ToList();

            return View(products);
        }

    }

}

问题是,在控制器类中,或者在项目中的任何地方,我想使用产品列表而不是ProductContext?提前谢谢

将代码更改为以下内容

public ViewResult List()
{
    List<Product> listProduct; 
    using (var db = new ProductContext())
    {
        listProduct = db.Product.ToList();
        return View(listProduct);
    }
}

我不明白你的实际问题。。。上面的代码应该可以工作,还是我遗漏了什么问题是,List产品=新列表;是空的。我想使用List listProduct,而不是var products=db.Product.ToList;您显然有两个产品类。您必须将EF类型转换为列表中的类型,例如使用AutoMapper。在代码中,我只有一个产品类,演示为公共类产品。数据库中有一个PRODUCT表。我想我已经通过public ClassAllMap类实现了转换。无法将类型“System.Collections.Generic.List”隐式转换为“System.Collections.Generic.List”。在DbContext中,您可以直接引用产品类,而不是使用可能反向工程的产品类:public DbSet Product{get;set;}EntityFramework.dll中发生“System.InvalidOperationException”类型的异常,但未在用户代码中处理其他信息:实体类型产品不是当前上下文模型的一部分。什么是简单的应用程序。嗯。。。从摘录中我看不出任何问题,您可能还需要调整映射。感谢您的关注。虽然没有解决问题,但我把你的答案记为答案。
    public class ProductController : Controller
{
    private Entities3 repository;

    public ProductController(Entities3 productRepository)
    {
        this.repository = productRepository;
    }

    public ViewResult List()
    {
        List<Product> listProduct = new List<Product>();
        using (var db = new ProductContext())
        {

            var products = db.Product.ToList();

            return View(products);
        }

    }

}
public ViewResult List()
{
    List<Product> listProduct; 
    using (var db = new ProductContext())
    {
        listProduct = db.Product.ToList();
        return View(listProduct);
    }
}