本人还是挺喜欢用Sqlite,鼓捣半天终于连上了,赶紧记录一下

1.当然还是新建一个项目,还是winform,

2.Vs2012添加NoGet,点击工具--扩展和更新,搜索NoGet,安装。

3.管理NoGet程序包,从工具中选,或右键点击项目都可,搜索Sqlite,安装

4.重新编译一下程序,添加SqliteDataContext类,代码如下

    /// <summary>
/// 在“管理NUGET程序包”安装LINQ程序包
/// 然后使用DataContext就可以连接sqlite了
/// 引用要添加 system.Data.Linq;system.Data.SQLite;system.Data.SQLite.Linq
public class SqliteDataContext : DataContext
{
public SqliteDataContext(string connection, MappingSource mappingSource) :
base(connection, mappingSource)
{
}
public SqliteDataContext(IDbConnection connection, MappingSource mappingSource) :
base(connection, mappingSource)
{
}
public SqliteDataContext(string connectionString) :
base(new SQLiteConnection(connectionString))
{
}
public SqliteDataContext(IDbConnection connection) :
base(connection)
{
} public Table<Article> Article
{
get
{
return this.GetTable<Article>();
}
}
}

5.调用方式

            SqliteDataContext db = new SqliteDataContext(@"data source=D:\Documents\Visual Studio 2012\Projects\Yss20140406\Yss20140406\bin\Debug\YssDB");
var temp =
from t in db.Article
select t;
dataGridView1.DataSource = temp;

6.如果直接写上面的代码是会报错的,因为没有写实体类啊,可以自己写。我是用DbLinq生成的,只复制部分代码。如果完全用DbLinq生成的类会报错,与上面的引用有冲突,所以复制粘贴一下好了。

    [Table(Name = "main.Article")]
public partial class Article
{ private string _context; private string _title; #region Extensibility Method Declarations
partial void OnCreated(); partial void OnContextChanged(); partial void OnContextChanging(string value); partial void OnTitleChanged(); partial void OnTitleChanging(string value);
#endregion public Article()
{
this.OnCreated();
} [Column(Storage = "_context", Name = "Context", DbType = "text", AutoSync = AutoSync.Never, CanBeNull = false)]
public string Context
{
get
{
return this._context;
}
set
{
if (((_context == value)
== false))
{
this.OnContextChanging(value);
this._context = value;
this.OnContextChanged();
}
}
} [Column(Storage = "_title", Name = "Title", DbType = "text", AutoSync = AutoSync.Never, CanBeNull = false)]
public string Title
{
get
{
return this._title;
}
set
{
if (((_title == value)
== false))
{
this.OnTitleChanging(value);
this._title = value;
this.OnTitleChanged();
}
}
}
}

附1:在Vs2012中操作Sqlite,安装下sqlite-netFx45-setup-bundle-x86-2012-1.0.84.0就可以了,官网有下。

附2:Dblinq网上有很多使用方法,我就不详细写了,我的下载包里也有,包含命令。

附3:练习代码下载

http://pan.baidu.com/s/1jGr6cD4

Linq to Sqlite连接的更多相关文章

  1. Linq To Sqlite 一一二二

    说在前头 之所以写下这些文字,主要是因为使用LINQ的同志们都觉它的美好(至于有多美好,各位心里知道,我就不在描述了,如果你是你还不了解LINQ,园子里有大把的文章),微软老哥只提供了自家的SQLSe ...

  2. 在C#中利用Nuget包使用SQLite数据库和Linq to SQLite

    本来是学习在VB中使用SQLite数据库和Linq to SQLite,结果先学习到了在C#中使用SQLite数据库和Linq to SQLite的方法,写出来与大家共同学习.(不知道算不算不务正业) ...

  3. 在VB中使用Linq To SQLite注意事项

    昨天使Linq To SQLite 支持VB,今天在VB中写了几条Linq语句,发现了几个问题: 1.在Linq To SQLite中的Linq语句查询后并不是得到的匿名数据类,而是将Linq转换为S ...

  4. 在VB中利用Nuget包使用SQLite数据库和Linq to SQLite

    上午解决了在C#中利用Nuget包使用SQLite数据库和Linq to SQLite,但是最后生成的是C#的cs类文件,对于我这熟悉VB而对C#白痴的来说怎么能行呢? 于是下午接着研究,既然生成的是 ...

  5. LINQ to SQLite完美解决方案

    1.下载安装LinqConnectExpress(就是LinqConnect免费版) 2.安装好后就和LINQ TO  SQL 一样了! 3.查询(增删改查和LINQ TO SQL 完全一样,你可以不 ...

  6. Linq实现左连接、右连接

    --一本错误的记录 insert into Book values('错误时怎样练成的',111)   --左连接 select s.name,b.name from student as s lef ...

  7. EF6+Sqlite连接字符串的动态设置

    摘要 在winform中应用sqlite和ef,对于sqlite连接字串的设置,大多情况下是不想写死了,你不知道用户会将你的exe程序安装在什么位置,也不知道他的电脑盘符是什么,如果写死了,那么很有可 ...

  8. linq操作符:连接操作符

    linq中的连接操作符主要包括Join()和GroupJoin()两个. 一.Join()操作符 Join()操作符非常类似于T-SQL中的inner join,它将两个数据源进行连接,根据两个数据源 ...

  9. LINQ中的连接(join)用法示例

    Linq中连接主要有组连接.内连接.左外连接.交叉连接四种.各个用法如下. 1. 组连接 组连接是与分组查询是一样的.即根据分组得到结果. 如下例,根据publisther分组得到结果. 使用组连接的 ...

随机推荐

  1. 删除字符串中多余的空白字符和空行(C语言实现)

    要求:处理一个字符串,删除字符串中多余的空格.水平制表符和空行,并满足下列要求: (1)对原字符串只能进行一次扫描.(2)不允许申请新的空间.(3)处理后的字符串的首尾不能有空格.制表符和空行.(4) ...

  2. java实现发送短信

    本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信,3条免费彩信,这足够用于我们测试用了.在使用前需要注册,注册地址为http://sms.webchinese. ...

  3. Cortex-M3 .s启动文件分析

    1. 基本概念(CMSIS): Cortex Micro-controller Software Interface Standard,微控制器软件接口标准. 2. CMSIS标准的文件结构: a) ...

  4. 转:onkeypress、onkeydown、onkeyup 区别

    在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress.onkeydown.onkeyup三个事件进行出来.该三个事件的执行顺序如下:onkeydown -> onk ...

  5. 【译】浅谈微软OneNote的自动化测试工具

    当我们向人们介绍OneNote的自动化时,有一个问题被相当频繁地提到,担忧我们的自动化框架中UI层面测试偏少. 我不喜欢基于UI的自动化.我知道在市场上有许多的自动化系统都是基于UI的自动化(点击按钮 ...

  6. poj2017简单题

    #include <stdio.h> #include <stdlib.h> int main() { int n,i; while(scanf("%d", ...

  7. Android 模拟系统事件(三)

    简介 Android系统是基于Linux内核的,而Linux内核继承和兼容了丰富的Unix系统进程间通信(IPC)机制.Binder其实也不是Android提出来的一套新的进程间通信机制,它是基于Op ...

  8. libcurl使用示例

    远程下载文件,并将http 头信息存放内存中以及文件大小等相关信息: #include <stdio.h> #include <curl/curl.h> #include &l ...

  9. 利用Telnet来模拟Http请求 有GET和POST两种

    利用Telnet来模拟Http请求---访问百度.       1.打开"运行"->cmd进入命令环境:       2.输入"telnet www.baidu.c ...

  10. .net 资源

    基于.net构架的留言板项目大全源码 http://down.51cto.com/zt/70 ASP.net和C#.net通用权限系统组件功能教程 http://down.51cto.com/zt/1 ...