永发信息网

c#ef能直接操作sqlite数据库的生成吗

答案:2  悬赏:10  手机版
解决时间 2021-02-23 04:17
  • 提问者网友:不爱我么
  • 2021-02-22 14:38
c#ef能直接操作sqlite数据库的生成吗
最佳答案
  • 五星知识达人网友:酒者煙囻
  • 2021-02-22 15:30
下载system.data.sqlite安装包,在system.data.sqlite.org上下载对应.NET Framework x.x版本的安装包。安装system.data.sqlite,按照提示一步一步执行即可。

下载SQLiteStudio,直接运行exe文件。创建数据库,以及操作数据表等等。

环境搭建好后就开始创建C#工程了,这里举例创建了一个Winform工程。在工程里引入system.data.sqlite.dll。注意:引用窗口打开后选择浏览,在安装目录下找到dll。默认安装路径是 C:\Program Files\System.Data.SQLite\2010\bin。如果不是使用VS2010,路径会不同

除了引用system.data.sqlite以外,还需要把SQLite.Interop.dll复制到程序根目录。

5
至此C#操作SQLite的开发环境就搭建好了。
6
异常解决:在实际使用中遇到了Unable to open the database file异常。查找了很久原因,排除了目录读写权限,连接字符串中增加Pooling=True;Journal Mode=Off;均为解决问题。后来发现我使用的是属性get来生产连接字符串,改为静态成员变量就没有问题了。这个问题还和操作系统有关,在win7上运行没有问题,在XP和2003上运行才会出现这个问题。
全部回答
  • 1楼网友:第四晚心情
  • 2021-02-22 15:48
如果只是想修改连接的计算机名(或者sql服务名),我试过下面的代码是成功的。我的步骤,先新建model,运行成功,然后修改app.config里的连接字符串里的计算机名,运行报错,然后在用代码手动修改回正确的计算机名,运行成功。         static void main(string[] args)         {             northwindentities en = new northwindentities();             string constr = @"data source=.\sqlexpress; initial catalog=northwind;integrated security=true; multipleactiveresultsets=true;app=entityframework"";             en.database.connection.connectionstring = constr;             console.writeline(en.employees.count());             console.readline();         }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯