cod*_*ten 5 c# sqlite connection-string system.data.sqlite visual-studio-2010
我需要连接到Sqlite中的数据库,所以我下载并安装了System.Data.SQLite,并且设计师拖了我所有的表.
设计者用.创建了一个.cs文件
public class Entities : ObjectContext
Run Code Online (Sandbox Code Playgroud)
和3个构造函数:
1
public Entities() : base("name=Entities", "Entities")
Run Code Online (Sandbox Code Playgroud)
这个从App.config加载连接字符串,并正常工作.
App.config中
<connectionStrings>
<add name="Entities" connectionString="metadata=res://*/Db.TracModel.csdl|res://*/Db.TracModel.ssdl|res://*/Db.TracModel.msl;provider=System.Data.SQLite;provider connection string="data source=C:\Users\Filipe\Desktop\trac.db"" providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
第2
public Entities(string connectionString) : base(connectionString, "Entities")
Run Code Online (Sandbox Code Playgroud)
第3
public Entities(EntityConnection connection) : base(connection, "Entities")
Run Code Online (Sandbox Code Playgroud)
这是问题,我已经尝试过n配置,已经使用EntityConnectionStringBuilder来创建没有运气的连接字符串.
能指点我正确的方向!?
EDIT(1)
如果我使用de parameterless构造函数我可以做我的查询,但我需要更改连接字符串,我不能使用我的app.config中的那个.
如何构建有效的连接字符串?!
发现它=)
如果您使用EntityConnectionStringBuilder指定Metadata和,Provider并使用它SqlConnectionStringBuilder来构建提供程序连接字符串并将其设置DataSource为您的数据库.你可以连接=)
var con = new EntityConnectionStringBuilder()
{
Metadata = @"res://*/Db.TracModel.csdl|res://*/Db.TracModel.ssdl|res://*/Db.TracModel.msl",
Provider = @"System.Data.SQLite",
ProviderConnectionString = new SqlConnectionStringBuilder()
{
DataSource = db,
}.ConnectionString,
};
connection = con.ConnectionString;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4666 次 |
| 最近记录: |