EntityFramework连接SQLite

EF很强大,可惜对于SQLite不支持CodeFirst模式(需要提前先设计好数据库表结构),不过对SQLite的数据操作还是很好用的。

先用SQLiteManager随便创建一个数据库和一张表:

通过NuGet安装 EF6 和System.Data.SQLite(会自动把其他三个也装上)

添加配置内容:

数据库连接

1   <connectionStrings>
2     <add name="StudentContext" connectionString="Data Source=StudentDb.sqlite" providerName="System.Data.SQLite.EF6"/>
3   </connectionStrings>

配置文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <configuration>
 3   <configSections>
 4     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
 5     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
 6   </configSections>
 7   <connectionStrings>
 8     <add name="StudentContext" connectionString="Data Source=StudentDb.sqlite" providerName="System.Data.SQLite.EF6"/>
 9   </connectionStrings>
10   <startup>
11     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
12   </startup>
13   <entityFramework>
14     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
15     <providers>
16       <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
17       <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
18       <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
19     </providers>
20   </entityFramework>
21   <system.data>
22     <DbProviderFactories>
23       <remove invariant="System.Data.SQLite.EF6" />
24       <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
25       <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
26     </DbProviderFactories>
27   </system.data>
28 </configuration>

测试一下:

				
时间: 2024-10-03 19:42:52

EntityFramework连接SQLite的相关文章

VS2010连接SQLite数据库

Visual studio 2010及以上版本,连接SQLite数据库 1.在Sqlite开发站点下载SQLite的.exe安装包 Ctrl+F搜索这条语句:This is the only setup package that is capable of installing the design-time components for Visual Studio xxxx 找到对应的VS版本,注意一定要带bundle,集成了设计器:无论32位系统还是64位系统,似乎都要下载32位的(X86)

MVC3、如何应用EntityFramework 连接MySql 数据库

原文:MVC3.如何应用EntityFramework 连接MySql 数据库 新的一年,新的开始. 今天总结的主题是在MySql中应用EntityFramework 的Code First模式. 开发环境:Win8 + MySql5.5 +VS 2012. 第一步是在数据库中新建一个表,具体字段如下图. 在表中添加若干数据: 数据建好之后,下面就是在项目中引用EntityFramework了. 二,在项目中新建一个实体类Product public class Product    {    

Java连接SQLite数据库

下载java包:sqlite-jdbc-3.7.2.jar,放到java工程目录lib下 如下代码实例: import java.sql.*; import org.sqlite.JDBC; /** * 这是个非常简单的SQLite的Java程序, * 程序中创建数据库.创建表.然后插入数据, * 最后读出数据显示出来 */ public class SqliteTest { public static void main(String[] args) { try { //连接SQLite的JD

使用EntityFramework连接 Mysql

原文:使用EntityFramework连接 Mysql 1,安装VS.net 插件 http://forums.mysql.com/read.php?174,601041,601041 2,安装连接器 http://dev.mysql.com/downloads/connector/net/ 3,安装 EntityFramework Power Tool 使用EntityFramework连接 Mysql,布布扣,bubuko.com

jmeter 连接 sqlite 进行压力测试

jmeter 连接 sqlite 进行压力测试,布布扣,bubuko.com

C#连接Sqlite 出现:混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。的解决方案

C#连接Sqlite 出现: 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集.的解决方案 C#连接sqlite数据库代码: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Data.SQLite; 6 using System.D

Java连接SQLite数据库详解【转】

1 package com.hedalixin; 2 import java.sql.Connection; 3 import java.sql.DriverManager; 4 import java.sql.ResultSet; 5 import java.sql.Statement; 6 7 /** 8 * @author Chrome 9 * 10 */ 11 public class JavaSqlite { 12 13 /** 14 * @param args 15 */ 16 pu

vc连接sqlite数据库

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump

Java 连接SQLite数据库

下载jar包: http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-nested.tgz public class TestSQLite { public static void main(String[] args) { try { //连接SQLite的JDBC Class.forName("org.sqlite.JDBC"); //建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之 Connect