Tôi có một dll sử dụng Entity Framework 6 để thực hiện một số thao tác cơ sở dữ liệu. Tôi đang sử dụng một phương pháp tiếp cận cơ sở dữ liệu đầu tiên. Mô hình và mọi thứ liên quan đến khung Entity, giống như chuỗi kết nối trong App.config, được tạo thông qua wizzard trong Visual Studio.Entity Framework 6 đặt chuỗi kết nối trong mã
Vì vậy, tôi đã biên dịch dll và đặt nó cùng với .config tương ứng trong thư mục mà ứng dụng sử dụng dll mong đợi nó.
Mọi thứ hoạt động tốt cho đến khi tôi đến điểm thực hiện cuộc gọi cơ sở dữ liệu thực. Ở đó tôi gặp lỗi:
Cannot find connection string for MyDatabaseEntity
Chuỗi kết nối được tạo tự động, như tôi đã nói, trong tệp cấu hình của dll. Tôi không thể thay đổi App.config của ứng dụng. Nhưng ứng dụng bàn giao một đối tượng có tất cả thông tin tôi cần để tự xây dựng chuỗi kết nối. Vì vậy, tôi đang tìm cách thiết lập chuỗi kết nối trong mã mà không cần dựa vào tệp cấu hình. Tất cả các hướng dẫn tôi tìm cho một phương pháp tiếp cận cơ sở dữ liệu đầu tiên sử dụng phương pháp này mặc dù. Tôi tìm thấy một bài ở đây nói rằng chỉ đơn giản là cung cấp cho các chuỗi kết nối như một tham số khi tạo đối tượng như
MyDatabaseEntities = new MyDatabaseEntities(dbConnect);
nhưng'MyDatabaseEntities' không có một nhà xây dựng mà phải mất bất kỳ thông số
public partial class MyDatabaseEntities : DbContext
{
public MyDatabaseEntities()
: base("name=MyDatabaseEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<MyTable> MyTable { get; set; }
}
Tôi đã không biết rằng chuỗi tại cơ sở() là chuỗi kết nối. Cảm ơn bạn, đã làm điều đó. – FNR
Có, nó cố gắng tìm chuỗi kết nối với tên được chỉ định trong dấu ngoặc đơn trong tệp cấu hình của dự án khởi động –
Tôi đã đặt kết nối như sau: string connection = @ "metadata = res: //*/ShopModel.csdl | res: //*/ShopModel.ssdl | res: //*/ShopModel.msl; provider = System.Data.SqlClient; chuỗi kết nối nhà cung cấp = " nguồn dữ liệu = SIPL35 \ SQL2016; danh mục ban đầu = Join8ShopDB2; id người dùng = Sa; password = Sa123! @ #; MultipleActiveResultSets = True; App = EntityFramework " "; Tham gia8ShopDBCác thành phần dbContext = new Join8ShopDBEntities (connection); nhưng nó cho tôi từ khóa nguồn dữ liệu không được xác định ngoại lệ –