Tôi đang di chuyển một ứng dụng web hiện có (sử dụng Entity Framework 5) sang vai trò Web Azure.Khuôn khổ thực thể DbContext trong vai trò Web Azure
Chuỗi kết nối cơ sở dữ liệu đang được di chuyển từ web.config
đến tệp ServiceConfiguration.*.cscfg
.
Vấn đề là trong tự động tạo raModel.Context.cs
tập tin, lớp thực thể của tôi được định nghĩa như thế này:
public partial class MyEntities : DbContext
{
public MyEntities()
: base("name=MyEntities")
{ }
// DbSets, etc
}
này sẽ luôn luôn tìm kiếm MyEntities
trong web.config
. Làm thế nào tôi có thể ghi đè lên constructor này để tôi có thể vượt qua trong chuỗi kết nối từ các tập tin ServiceConfiguration.*.cscfg
?
tôi có thể lấy được từ lớp học này, như vậy:
public class MyCloudEntities : MyEntities
{
public MyCloudEntities()
: base(CloudConfigurationManager.GetSetting("MyEntities"))
{ }
}
Nhưng sau đó tôi phải thay đổi mỗi instantiation của MyEntities
trong cơ sở mã, và nó sẽ không ngăn chặn các nhà phát triển từ việc sử dụng MyEntities
trong tương lai.
Tại sao bạn muốn lưu trữ chuỗi kết nối trong tệp cấu hình Azure? Bạn có bao giờ cần thay đổi chuỗi kết nối khi chạy không? – Fore
Không, nhưng chuỗi kết nối khác nhau theo môi trường. – davenewza