如何更改实体框架连接上的数据库
我有一个 ADO.NET 实体数据模型,我想在多个数据库(同一服务器上)上使用它,您将如何解决它?
// This results in a exception, "Specified method is not supported".
private MyEntities _db = new MyEntities();
public IQueryable<MyObject> GetMyObjects(string database)
{
_db.Connection.ChangeDatabase(database);
return _db.MyObjects
}
// This works...
private MyEntities _db;
private string entityConnectionString = ConfigurationManager.ConnectionStrings["MyEntities"].ConnectionString;
public IQueryable<MyObject> GetMyObjects(string database)
{
_db = new MyEntities(entityConnectionString.Replace("__REPLACE_ME__", database));
return _db.MyObjects
}
I got a ADO.NET Entity Data Model that I want to use on several databases (on the same server), how would you solve it?
// This results in a exception, "Specified method is not supported".
private MyEntities _db = new MyEntities();
public IQueryable<MyObject> GetMyObjects(string database)
{
_db.Connection.ChangeDatabase(database);
return _db.MyObjects
}
// This works...
private MyEntities _db;
private string entityConnectionString = ConfigurationManager.ConnectionStrings["MyEntities"].ConnectionString;
public IQueryable<MyObject> GetMyObjects(string database)
{
_db = new MyEntities(entityConnectionString.Replace("__REPLACE_ME__", database));
return _db.MyObjects
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我可能会修改你的“这有效...”版本,如下所示::
I'd probably modify your "This works..." version, something like this::