C# Can';t在mvc中从db获取值
我使用CodeFirst获取模型中属性的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=新
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添加到该文件夹中