如何正确使用Linq到SQLite?
我已经从下载并安装了linq到sqlite 但是下面的测试代码:如何正确使用Linq到SQLite?,linq,sqlite,Linq,Sqlite,我已经从下载并安装了linq到sqlite 但是下面的测试代码: [ Table( Name = "items" ) ] public class MyItem { [ Column( IsPrimaryKey = true ) ] int MyId; } public class MyDb : DataContext { public MyDb( IDbConnection c ) : base( c ) {} public Table< MyIte
[ Table( Name = "items" ) ]
public class MyItem
{
[ Column( IsPrimaryKey = true ) ]
int MyId;
}
public class MyDb : DataContext
{
public MyDb( IDbConnection c ) : base( c ) {}
public Table< MyItem > myItems;
}
var connection = new SQLiteConnection( "Data Source=my.db;" )
var database = new MyDb( connection );
database.CreateDatabase();
[表(Name=“items”)]
公共类MyItem
{
[列(IsPrimaryKey=true)]
int-MyId;
}
公共类MyDb:DataContext
{
公共MyDb(IDBC连接):基(c){}
公共表myItems;
}
var connection=newsqliteconnection(“数据源=my.db;”)
var数据库=新的MyDb(连接);
CreateDatabase();
在“CreateDatabase”中失败,出现异常:
SQLite错误
“数据库”附近:语法错误
我做错了什么?似乎Microsoft SQL中的“DataContext”基类是特定的。SQLite ADO.NET支持LINQ,但建议使用GUI向导生成数据库访问类。此类类不会将“DataContext”作为子类,并允许在其上使用LINQ。您混淆了LINQ到SQL(仅适用于SQL Server)和LINQ到实体(也称为实体框架)。SQLite ADO.NET提供程序支持实体框架,而不是Linq to SQL。DataContext类用于Linq到SQL,而不是实体框架 正如地狱之眼所建议的,您应该使用实体模型设计器。可以手动创建映射,但这并不容易 顺便说一下,Entity Framework没有CreateDatabase方法,因此您将无法以这种方式创建数据库(而且SQLite也没有create database指令)