C# SQLite和LINQ到SQL-DataContext和数据库创建问题
我用C#编写了一个.NET应用程序,它使用SQLite数据库。我想使用LINQtoSQL作为ORM来处理数据库。因此,我的项目中安装了两个nuget软件包:和 以下是我的应用程序中的一些简化代码:C# SQLite和LINQ到SQL-DataContext和数据库创建问题,c#,.net,sqlite,linq-to-sql,C#,.net,Sqlite,Linq To Sql,我用C#编写了一个.NET应用程序,它使用SQLite数据库。我想使用LINQtoSQL作为ORM来处理数据库。因此,我的项目中安装了两个nuget软件包:和 以下是我的应用程序中的一些简化代码: [Table] public class Entity { [Column(IsPrimaryKey = true, IsDbGenerated = true, CanBeNull = false)] public int Id { get; set; } [Column]
[Table]
public class Entity
{
[Column(IsPrimaryKey = true, IsDbGenerated = true, CanBeNull = false)]
public int Id { get; set; }
[Column]
public string Data { get; set; }
}
public class EntityDataContent : DataContext
{
public EntityDataContent(IDbConnection connection) : base(connection)
{
}
public Table<Entity> Entities
{
get { return GetTable<Entity>(); }
}
}
它无法工作,因为其中没有数据库和表。因此,首先应该创建它们:
using (EntityDataContent dataContext = new EntityDataContent(connectionString))
{
if (!dataContext.DatabaseExists())
{
dataContext.CreateDatabase();
}
}
问题来了。此代码引发SQLiteException,并显示以下消息:
SQL logic error or missing database
near "DATABASE": syntax error
这一切都是因为数据库提供者试图在createdatabase
的帮助下创建数据库,但SQLite中没有这样的操作。文件本身已经是一个数据库
因此,我假设我的DataContext
使用默认的数据库提供程序,而不是相应的nuget包提供的SQLite实现。我不知道如何解决这个问题,问题出在哪里。你有什么建议吗
SQL logic error or missing database
near "DATABASE": syntax error