我正在尝试连接到我的.net核心2.0网络应用中的localDB。我使用SQL express创建了一个本地数据库。
我的appsettings.json看起来像这样
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"ConnectionStrings": {
"DefaultConnection": "Data Source=(LocalDb)\\MSSQLLocalDB;Initial Catalog=Shopping;Integrated Security=True;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
}
}
我的上下文文件如下所示
public class ProductContext : DbContext
{
public ProductContext(DbContextOptions<ProductContext> options)
:base(options)
{
}
public DbSet<Product> Products { get; set; }
}
我的启动文件传递了这样的上下文
services.AddDbContext<ProductContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
当我尝试从数据库中获取产品时
try
{
var d = await _context.Products.ToListAsync();
return View(d);
}
catch (Exception e)
{
}
我抛出了这个异常
“无效的对象名称'产品'。”
我也在这里添加我的数据库图像
我假设它与数据库连接有关?
如何提供文件路径?
答案 0 :(得分:5)
您似乎在数据库中没有表Products
。
[Table("Product")]
)指定不同的表名,或者在数据库上启动迁移/初始化(如果尚未发生)。"Invalid object name 'Products'."
)答案 1 :(得分:1)
您可以在OnModelCreating
的{{1}}方法中使用流畅的API来将数据库表与您的模型进行映射。这样您就不需要在模型中添加属性。
ProductContext