ASP.NET - 我可以在实体中使用或选择不同的DB吗?

时间:2015-10-26 04:25:55

标签: c# asp.net entity-framework

我在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)之类的事吗?

1 个答案:

答案 0 :(得分:1)

有一个DbContext构造函数重载,它将连接字符串或连接字符串的名称作为参数,以及其他接受现有DbConnection对象的内容。

更新

将新构造函数添加到DbContext派生类,并将参数传递给基础构造函数:

public GC_BranchNameEntities( string nameOrConnString ) :
    base( nameOrConnString )
{
}

然后,在实例化DbContext时,传入要使用的连接字符串的名称(在配置文件中定义的名称)或实际连接字符串。或者,您也可以创建一个构造函数重载,该重载接受现有的DbConnection对象(类似于nameOrConnString参数)并将其传递给基础构造函数。