如何在Visual Studio Code中将SQLITE文件连接到ASP.NET Core 6 MVC应用程序?

6ojccjat  于 2023-05-07  发布在  SQLite
关注(0)|答案(2)|浏览(305)

我已经在Visual Studio Code中创建了一个ASP.NET Core 6 MVC Web应用程序,但在将其与现有的SQLite数据库文件连接时遇到了问题。
我尝试通过将数据库文件移动到mvc文件中来添加数据库文件,但不起作用

bq8i3lrv

bq8i3lrv1#

1.使用dotnet add package Microsoft.EntityFrameworkCore.Sqlite将Microsoft.EntityFrameworkCore.Sqlite包添加到项目中
1.在Startup.cs中配置DatabaseContext:

services.AddDbContext<MyDbContext>(options =>
    options.UseSqlite(Configuration.GetConnectionString("MyConnection")));

1.在appsettings.json中定义连接字符串

{
  "ConnectionStrings": {
    "MyConnection": "Data Source=mydatabase.db"
  }
}
  • 注意:连接字符串可以变化

1.在DatabaseContext中添加public DbSet<MyTable> MyTables { get; set; } *MyTable应该是表的名称
1.在你的控制器中使用依赖注入来获得一个示例,如果你的数据库上下文

private readonly MyDbContext _dbContext;

public MyController(MyDbContext dbContext)
{
    _dbContext = dbContext;
}

1.查询您的数据库

public IActionResult Index()
{
    var myData = _dbContext.MyTables.ToList();
    return View(myData);
}
  • 根据您的需求更改查询

希望这能帮上忙。如果没有,请不要犹豫,回复我

zte4gxcn

zte4gxcn2#

我的工作样本:
DBfile

program.cs

builder.Services.AddDbContext<UTsContext>(options =>
    options.UseSqlite("Filename=E:\\IISPUB\\UTs\\test2.db3"));

上下文

public class UTsContext : DbContext
    {
        public UTsContext (DbContextOptions<UTsContext> options)
            : base(options)
        {
        }

        public DbSet<Entry> Entry { get; set; } = default!;
    }

数据模型

public class Entry
    {
        public int ID {  get; set; }
        public DateTime RecordingTime { get; set; }
        public int Period { get; set; }
    }

用get方法实现的简单控制器

[ApiController]
    public class EntriesController : ControllerBase
    {
        private readonly UTsContext _context;

        public EntriesController(UTsContext context)
        {
            _context = context;
        }

        
        [HttpGet("test")]
        public async Task<ActionResult<IEnumerable<Entry>>> GetEntry()
        {
            return await _context.Entry.ToListAsync();
        }
     }

测试输出

相关问题