net framework4.7.2 使用EF6 DbContext 创建 Sqlite 数据库和数据表,并指定数据库文件路径在Debug文件夹
时间: 2024-02-03 08:04:10 浏览: 272
首先,需要安装SQLite数据库提供程序。可以使用NuGet包管理器安装System.Data.SQLite包。
然后,可以创建一个继承自DbContext的类来表示数据库上下文。在构造函数中,可以指定SQLite数据库文件的路径。
下面是一个示例代码:
```csharp
using System.Data.Entity;
public class MyContext : DbContext
{
public MyContext() : base("Data Source=|DataDirectory|\\mydb.sqlite")
{
}
public DbSet<MyEntity> MyEntities { get; set; }
}
public class MyEntity
{
public int Id { get; set; }
public string Name { get; set; }
}
```
在这个示例中,数据库文件被保存在应用程序的Data目录中。可以使用以下代码来获取Data目录的路径:
```csharp
string dataDirectory = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();
```
然后,可以在DbContext的OnModelCreating方法中定义数据表的结构。
```csharp
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<MyEntity>()
.HasKey(e => e.Id)
.Property(e => e.Name)
.IsRequired();
}
```
最后,可以使用以下代码来创建数据库和数据表:
```csharp
using (var context = new MyContext())
{
context.Database.CreateIfNotExists();
}
```
这将创建一个名为mydb.sqlite的数据库文件,并在其中创建一个名为MyEntities的数据表。数据库文件将被保存在应用程序的Debug目录中。
阅读全文