Làm cách nào để chuyển một chuỗi kết nối tới DbContext đầu tiên của khung thực thể? Tạo cơ sở dữ liệu của tôi hoạt động chính xác khi cả DbContext và chuỗi kết nối trong web.config nằm trong cùng một dự án và được đặt tên giống nhau. Nhưng bây giờ tôi cần di chuyển DbContext sang một dự án khác nên tôi đang thử nghiệm truyền một chuỗi kết nối tới nó như sau:
Mô hình & bối cảnh
public class Dinner
{
public int DinnerId { get; set; }
public string Title { get; set; }
}
public class NerdDinners : DbContext
{
public NerdDinners(string connString)
: base(connString)
{
}
public DbSet<Dinner> Dinners { get; set; }
}
Hoạt động
public ActionResult Index()
{
var db = new NerdDinners(ConfigurationManager.ConnectionStrings["NerdDinnerDb"].ConnectionString);
var dinners = (from d in db.Dinners
select d).ToList();
return View(dinners);
}
Web.Config
<connectionStrings>
<add name="NerdDinnerDb" connectionString="Data Source=|DataDirectory|NerdDinners.sdf" providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
Nếu tôi đặt một điểm ngắt trong hành động phân tích db
, thì chuỗi kết nối ở đó, nhưng nó không tạo hoặc tìm thấy cơ sở dữ liệu hoặc bất cứ thứ gì.
Đã xảy ra lỗi liên quan đến mạng hoặc một trường hợp cụ thể khi thiết lập kết nối với SQL Server. Máy chủ này không tìm thấy hoặc không thể truy cập được. Xác minh rằng tên phiên bản là chính xác và SQL Server được cấu hình để cho phép các kết nối từ xa. (nhà cung cấp: Nhà cung cấp đường ống được đặt tên, lỗi: 40 - Không thể mở kết nối với SQL Server)