5

Tôi cần kết nối với cơ sở dữ liệu trong Sqlite để tôi tải xuống và cài đặt System.Data.SQLite và với nhà thiết kế đã kéo tất cả các bảng của tôi.ObjectContext ConnectionString Sqlite

Các nhà thiết kế đã tạo ra một file .cs với

public class Entities : ObjectContext 

và 3 constructors:

1st

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

này nạp chuỗi kết nối từ App.config và hoạt động tốt.

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> 

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

3rd

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

Dưới đây là vấn đề, tôi đã thử cấu hình n, đã được sử dụng EntityConnectionStringBuilder để tạo chuỗi kết nối không có may mắn.

Bạn vui lòng chỉ cho tôi đúng hướng không !?

EDIT (1)

tôi có thể làm các truy vấn của tôi nếu tôi sử dụng constructor parameterless de nhưng tôi cần phải thay đổi chuỗi kết nối, tôi không thể sử dụng một trong app.config của tôi.

Tôi có thể xây dựng chuỗi kết nối hợp lệ như thế nào ?!

+1

câu hỏi của bạn không rõ ràng. –

Trả lời

7

Tìm thấy nó =)

nếu bạn sử dụng EntityConnectionStringBuilder để xác định MetadataProvider và sử dụng SqlConnectionStringBuilder để xây dựng các chuỗi kết nối nhà cung cấp và thiết lập DataSource để DB của bạn. Bạn có thể kết nối =)

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; 
Các vấn đề liên quan