Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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# Can';t在mvc中从db获取值_C#_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# Can';t在mvc中从db获取值

C# Can';t在mvc中从db获取值,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我使用CodeFirst获取模型中属性的db值 控制器 public ViewResult List() { EFProductRepository rep = new EFProductRepository(); IEnumerable<Product> values = rep.P(); return View(values); } 公共视图结果列表() { EFProductRepository=新

我使用CodeFirst获取模型中属性的db值

控制器

     public ViewResult List()
     {

       EFProductRepository rep = new EFProductRepository();
       IEnumerable<Product> values =  rep.P();

        return View(values);
    }
公共视图结果列表()
{
EFProductRepository=新EFProductRepository();
IEnumerable values=rep.P();
返回视图(值);
}
型号

      public class Product
      {
        public int ProductID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public decimal Price { get; set; }
        public string Category { get; set; }

      }

    class EFDbContext : DbContext
    {
        public DbSet<Product> Products { get; set; }
    }
公共类产品
{
public int ProductID{get;set;}
公共字符串名称{get;set;}
公共字符串说明{get;set;}
公共十进制价格{get;set;}
公共字符串类别{get;set;}
}
类EFDbContext:DbContext
{
公共数据库集产品{get;set;}
}
网络配置

 <connectionStrings>
 <add name="EFDbContext" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=FoodStore" 
      providerName="System.Data.SqlClient"/>
 </connectionStrings>


Products属性计数始终为0。如何从数据库中获取值?

连接字符串可能有问题。因此,请在webconfig中尝试下面的connectionstring代码

   < add name="ConnectionStringName"
        providerName="System.Data.SqlClient"
        connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />

主要包括AttachDbFileName它将自动在app_数据文件夹中创建数据库

资料来源:

希望这会有帮助

谢谢
Karthik

连接字符串可能有问题。因此,请在webconfig中尝试下面的connectionstring代码

   < add name="ConnectionStringName"
        providerName="System.Data.SqlClient"
        connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />

主要包括AttachDbFileName它将自动在app_数据文件夹中创建数据库

资料来源:

希望这会有帮助

谢谢
Karthik

您的产品代码在哪里?通过正确的设置,您可以从数据库中检索
Product
值并对其进行计数。@Tetsuya Yamamoto,我看到产品通过调试进行计数。
rep.P()
在做什么?请显示代码。@James P,P是只返回Products属性的方法。私有EFDbContext上下文=新EFDbContext();public IEnumerable P(){return context.Products;}@James P,是的,我确定,你从数据库中获得数据了吗?你声明数据库的名称是什么?我的数据库在App_Data文件夹中,但它不是自动创建的,我将我的数据库添加到我自己的文件夹中。你的代码在哪里计算产品?通过正确的设置,您可以从数据库中检索
Product
值并对其进行计数。@Tetsuya Yamamoto,我看到产品通过调试进行计数。
rep.P()
在做什么?请显示代码。@James P,P是只返回Products属性的方法。私有EFDbContext上下文=新EFDbContext();public IEnumerable P(){return context.Products;}@James P,是的,我确定,您从db获得数据了吗?您声明的db的名称是什么?我的db位于App_Data文件夹中,但它不是自动创建的,我为自己将我的db添加到该文件夹中