繁体   English   中英

ObjectContext ConnectionString Sqlite

[英]ObjectContext ConnectionString Sqlite

我需要连接到Sqlite中的数据库,所以我下载并安装了System.Data.SQLite ,并且设计师拖了我所有的表。

设计者用。创建了一个.cs文件

public class Entities : ObjectContext

和3个构造函数

1

public Entities() : base("name=Entities", "Entities")

这个从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=&quot;data source=C:\Users\Filipe\Desktop\trac.db&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

第2

public Entities(string connectionString) : base(connectionString, "Entities")

第3

public Entities(EntityConnection connection) : base(connection, "Entities")

这是问题 ,我已经尝试过n配置,已经使用EntityConnectionStringBuilder来创建没有运气的连接字符串。

能指点我正确的方向!?

EDIT(1)

如果我使用de parameterless构造函数我可以做我的查询,但我需要更改连接字符串,我不能使用我的app.config中的那个。

如何构建有效的连接字符串?!

发现它=)

如果使用EntityConnectionStringBuilder指定MetadataProvider并使用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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM