我在Entity Framework和Web API方面相当新。我试图从表中GET
数据。但该表将从不同的数据库中选择。因此,有多个具有相同表格的数据库,我需要选择从中获取表格所需的数据库(我正在思考[Fromuri]
)。现在我只连接了一个数据库。不确定我是否需要将其全部添加为连接字符串,或者是否有更简单的方法。
public IHttpActionResult Get()
{
using (var MGC = new GC_BranchNameEntities())
{
var serializer = new JsonSerializer();
var jsonIDSA = JsonConvert.SerializeObject(MGC.INV_LIVE_IDSA, Formatting.None);
try
{
return Ok(jsonIDSA);
}
catch (Exception e)
{
return BadRequest("Error occured when retreiving IDSA data " + e.Message);
}
}
}
我可以做类似using(var MGC = new SelectdatabaseEntitiesusingParam)
之类的事吗?
答案 0 :(得分:1)
有一个DbContext
构造函数重载,它将连接字符串或连接字符串的名称作为参数,以及其他接受现有DbConnection
对象的内容。
更新
将新构造函数添加到DbContext
派生类,并将参数传递给基础构造函数:
public GC_BranchNameEntities( string nameOrConnString ) :
base( nameOrConnString )
{
}
然后,在实例化DbContext
时,传入要使用的连接字符串的名称(在配置文件中定义的名称)或实际连接字符串。或者,您也可以创建一个构造函数重载,该重载接受现有的DbConnection
对象(类似于nameOrConnString
参数)并将其传递给基础构造函数。