2.从http://www.sqlite.org/cvstrac/wiki?p=ManagementTools下载各种GUI程序.
数据库文件创建好了之后,拷贝到你想要的位置,然后打开VS的Server Explorer(当然如果你使用GUI程序,你就不需要VS的这个功能了),我们可以在里面维护表信息
我们先设计两个表,以便继续下面的步骤.
创建项目
创建DataContext
当你将表拉入dbml的时候,会得到如下错误"The selected object(s) use an unsupported data provider."
dbml designer和DLINQ一样,微软只实现了For SQL SERVER的功能,其他数据库都没实现.既然不能生成dmbl,那我们生成code就好了,反正这个layout我们一般也没什么用.找到从windows sdk目录下找到Code Generation Tool (SqlMetal.exe). 不幸的是,这个东东也只支持MS本家的东西,而且不支持Generator扩展-_-!!!.
既然phxsoftware提供的LINQ Porivder,说不定有提供自定义的代码生成工具.不过看来看去,发现只支持Entity Frameworkd Entity Model的生成,但是没有LINQ TO SQLite的支持(dotConnect for SQLite 倒是对二者都支持).
难道我们要手动编写DataContext?怎么可能,肯定有人实现了,google下,找到了一个DLINQ2007的项目,提供好多LINQ Provider的实现(包括SQLite).发现里面有个DbMetal.exe,支持从SQLite生成DataContext类.虽然不如MS的的完美,不过能自动生成基本的DataContext,这就是最大的收获,不然像我这么依赖LINQ的人只好放弃SQLite了^_^.DbMetal.exe生成DataContext的命令行,类似SqlMetal.exe.
DbMetal.exe /database:TestDataContext /schema /namespace=LinqToSQLite /sprocs /entityInterfaces= /culture="en" /code=Test.cs /provider=Sqlite /conn="data source=D:\doc\my\data\code\LinqToSQLite\dlls\Test.db3"
/database指定类名, /namespace=LinqToSQLite指定命名空间...,具体的参数可以在命令行下获取到(dbmetal.exe /?).
收藏本站 设为主页


