c# - 访问使用 DBContext 创建的数据库
问题描述
最近我开始为一份新工作学习 C# 和 ASP.NET Core,作为实践的一部分,我为包含数据库的 CRUD 操作创建了一个小 api,我使用实体框架核心创建了数据库。我想弄清楚这个数据库是如何创建的以及其中的所有表,因为在代码中我没有提到任何表名或其他东西..?还有一件事是我可以使用 SSMS 或其他一些 GUI 访问这个数据库来实际查看数据吗?注意:我使用的是 Visual Studio 2019
namespace TodoApi.Models
{
public class TodoContext : DbContext
{
public TodoContext(DbContextOptions<TodoContext> options)
: base(options)
{}
public DbSet<TodoItem> TodoItems { get; set; }
}
}
启动.cs:
services.AddDbContext<TodoContext>(opt =>
opt.UseInMemoryDatabase("TodoList"));
先感谢您 !
解决方案
因此,您使用的是内存数据库。这意味着它最终都存储在应用程序的内存中。这意味着磁盘上没有文件,也无法使用像 SSMS 这样的工具远程访问它。这也是为什么您不需要指定表名等的原因,因为内存数据库不需要它,因为它只是一种将所有数据存储在数组中的奇特方式,作为一个简单的类比。内存提供程序的主要用途是用于测试。
如果您希望能够在 SSMS 等工具中查看数据库的内容,则需要使用SQL Server 提供程序(需要连接字符串等),该提供程序将配置为opt.UseSqlServer(...)
. 或者,如果您不想使用 SQL Server,则可以使用SQLite 提供程序。
可以在此处找到有关可用的不同提供程序的文档。
推荐阅读
- java - 在 Java 中获取 Zip 文件大小超过 FTP 连接
- android - 如何让一组用户读,写特定的孩子?
- php - Symfony 5: Fixtures & Factories - 如何设置关系 (oneToMany<->ManytoOne)
- r - 在数据框中填写缺失的日期
- python - 是否可以在散景中使用逗号而不是点作为小数分隔符
- php - php中日期的高效内存表示
- java - 如何将 BST 写入文本文件
- javascript - scrollTop 不工作并且总是返回 0
- reactjs - React-Admin:如何在 1 更改后编辑另一个组件值(例如,小计+折扣=总计)?
- rocket.chat - Rocket Chat 中的 KaTex 支持