== 菜鸟级选手试验在EF6中使用Sqlite,零EF基础,少量Sqlite基础。经过断断续续的很长时间 - _ -!
>>连接
1. 安装
使用目前最新版本EF6.1,Sqlite1.0.93.0。直接NuGet安装:
2. 配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
3. 设置数据库
EF中数据库操作继承DBContext。需要指定数据连接,名称和config配置一致,否则默认使用Sqlserver。
SQLite可以重载创建。
1 2 3 4 5 6 7 8 9 10 11 |
|
>>注意事项
1. Sqlite中不能自动创建数据库和新建表,需要额外的操作
>> 数据类型插入获取
1. 自增ID
Sqlite中需要设置AUTOINCREMENT,如下:
1 |
|
需要引用System.ComponentModel.DataAnnotations,System.ComponentModel.DataAnnotations.Schema,类中写明
1 2 |
|
2. 限定Table
默认数据库获取为DBContext中定义的名称,限定对应的Table,需要在类上指明,如下:
1 2 3 |
|
3. 枚举型
目前直接能使用,注意需要在定义表时限定不能为NULL,否则为NULL时获取会报错。定义时如下定义:
1 |
|
4. 其它
目前SQlite中支持浮点数、时间、二进制数据、字符串等。创建表示例:
1 2 3 4 5 6 7 8 9 |
|
定义类示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
调用示例:
1 2 3 |
|
1 2 3 |
|
以上代码测试正常。源码下载
EF6 在 SQLite中使用备忘