net framework4.7.2 使用system.data.entity DbContext 创建 Sqlite 数据库和数据表,并明确数据库文件的路径
时间: 2024-02-03 19:13:35 浏览: 138
可以按照以下步骤来创建 Sqlite 数据库和数据表,并明确数据库文件的路径:
1. 创建一个新的 Console 应用程序,并在项目中添加对 System.Data.Entity 和 System.Data.SQLite 的引用。
2. 在项目中添加一个新的文件夹,并将其命名为 Data。
3. 在 Data 文件夹中添加一个新的类文件,并将其命名为 MyDbContext.cs。在文件中编写以下代码:
```csharp
using System.Data.Entity;
namespace ConsoleApp1.Data
{
public class MyDbContext : DbContext
{
public MyDbContext() : base("Data Source=mydb.db") { }
public DbSet<MyTable> MyTables { get; set; }
}
public class MyTable
{
public int Id { get; set; }
public string Name { get; set; }
}
}
```
4. 在 Program.cs 文件中编写以下代码:
```csharp
using System;
using System.Linq;
using ConsoleApp1.Data;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//明确数据库文件的路径
AppDomain.CurrentDomain.SetData("DataDirectory", @"C:\MyData");
using (var context = new MyDbContext())
{
//创建数据表
context.Database.CreateIfNotExists();
//插入数据
context.MyTables.Add(new MyTable { Name = "张三" });
context.MyTables.Add(new MyTable { Name = "李四" });
context.SaveChanges();
//查询数据
var myTables = context.MyTables.ToList();
foreach(var myTable in myTables)
{
Console.WriteLine(myTable.Name);
}
}
Console.ReadKey();
}
}
}
```
在这个示例中,我们创建了一个 MyDbContext 类,用于管理 Sqlite 数据库和数据表。在 DbContext 的构造函数中,我们指定了数据库文件的路径,这里我使用了 C 盘下的 MyData 文件夹。
然后,在 Main 函数中,我们使用 MyDbContext 创建了一个名为 mydb.db 的 Sqlite 数据库,并创建了一个名为 MyTable 的数据表。我们插入了两条数据,并查询了所有数据。最后,我们在控制台输出了数据表中的所有数据。
需要注意的是,Sqlite 数据库文件的路径可以是相对路径或绝对路径。如果使用相对路径,需要使用“|DataDirectory|”占位符来表示数据文件夹的路径。在这个示例中,我们使用了 AppDomain.CurrentDomain.SetData 方法来设置数据文件夹的路径,这样就可以使用绝对路径来明确数据库文件的路径了。
阅读全文