C# 连接到同一个“中的不同连接字符串”;使用;

C# 连接到同一个“中的不同连接字符串”;使用;,c#,asp.net-core,dapper,C#,Asp.net Core,Dapper,我有一个模型有两个不同的列表,如: public IList<PurchaseOrderPreliminaryDesignModel> DesignList { get; set; } = new List<PurchaseOrderPreliminaryDesignModel>(); public IList<PurchaseOrderPreliminaryVendorModel> VendorList { get; set; } = n

我有一个模型有两个不同的列表,如:

 public IList<PurchaseOrderPreliminaryDesignModel> DesignList { get; set; } = new List<PurchaseOrderPreliminaryDesignModel>();

        public IList<PurchaseOrderPreliminaryVendorModel> VendorList { get; set; } = new List<PurchaseOrderPreliminaryVendorModel>();
        public PurchaseOrderPreliminaryDesignViewModel AddDesignList(IEnumerable<PurchaseOrderPreliminaryDesignModel> model)
        {
            ((List<PurchaseOrderPreliminaryDesignModel>)DesignList).AddRange(model);
            return this;
        }

        public PurchaseOrderPreliminaryDesignViewModel AddVendorList (IEnumerable<PurchaseOrderPreliminaryVendorModel> model)
        {
            ((List<PurchaseOrderPreliminaryVendorModel>)VendorList).AddRange(model);
            return this;
        }
然后作为回报,使用如下:

rModel.AddDesignList(designList).AddVendorList(vendorList);
                        return rModel;
我怎样才能做到这一点?问候

  • 您可以使用双基于

public PurchaseOrderPreliminaryDesignViewModel GetPreliminaryDesignList(字符串jobNumber)
{
尝试
{
PurchaseOrderPreliminaryDesignViewModel DoGetDesigns()
{
使用(var connection=_connectionManager.GetOpenConnection(_configuration.GetConnectionString(FirstConnectionString)))
使用(var connection2=_connectionManager.GetOpenConnection(_configuration.GetConnectionString(SecondConnectionString)))
{
var rModel=new PurchaseOrderPreliminaryDesignViewModel();
var designList=connection.Query(“[dbo].[usp\u PurchaseOrder\u premium\u Design]”,参数:new
{
LegacyKey=jobNumber
},commandType:commandType.StoredProcess);
var vendorList=connection2.Query(“mystore”,参数:new
{
参数=作业编号
},commandType:commandType.StoredProcess);
rModel.AddDesignList(设计列表).AddVendorList(供应商列表);
返回rModel;
}
}
返回DoGetDesigns();
}
捕获(例外情况除外)
{
掷骰子;
}
}
  • 您可以使用双基于

public PurchaseOrderPreliminaryDesignViewModel GetPreliminaryDesignList(字符串jobNumber)
{
尝试
{
PurchaseOrderPreliminaryDesignViewModel DoGetDesigns()
{
使用(var connection=_connectionManager.GetOpenConnection(_configuration.GetConnectionString(FirstConnectionString)))
使用(var connection2=_connectionManager.GetOpenConnection(_configuration.GetConnectionString(SecondConnectionString)))
{
var rModel=new PurchaseOrderPreliminaryDesignViewModel();
var designList=connection.Query(“[dbo].[usp\u PurchaseOrder\u premium\u Design]”,参数:new
{
LegacyKey=jobNumber
},commandType:commandType.StoredProcess);
var vendorList=connection2.Query(“mystore”,参数:new
{
参数=作业编号
},commandType:commandType.StoredProcess);
rModel.AddDesignList(设计列表).AddVendorList(供应商列表);
返回rModel;
}
}
返回DoGetDesigns();
}
捕获(例外情况除外)
{
掷骰子;
}
}

Q:这是“经典”ASP.Net还是ASP.Net核心?问:你在使用EF吗?你确定你在使用EF吗?这段代码看起来更简洁。无论如何,为什么不将连接字符串传递给方法,甚至传递给连接对象呢?这里有一千种方法可以更改连接字符串。Asp.net core与dapperQ:这是“经典”的Asp.net还是Asp.net core?问:你在使用EF吗?你确定你在使用EF吗?这段代码看起来更简洁。无论如何,为什么不将连接字符串传递给方法,甚至传递给连接对象呢?这里有一千种方法可以更改连接字符串。Asp.net core使用dapper
var vendorList = connection2.Query<PurchaseOrderPreliminaryVendorModel>("mystore", param: new
                    {
                        Parameter = jobNumber
                    }, commandType: CommandType.StoredProcedure);
rModel.AddDesignList(designList).AddVendorList(vendorList);
                        return rModel;
public PurchaseOrderPreliminaryDesignViewModel GetPreliminaryDesignList(string jobNumber)
{
    try
    {
        PurchaseOrderPreliminaryDesignViewModel DoGetDesigns()
        {
            using (var connection = _connectionManager.GetOpenConnection(_configuration.GetConnectionString(FirstConnectionString)))
            using (var connection2 = _connectionManager.GetOpenConnection(_configuration.GetConnectionString(SecondConnectionString)))

            {
                var rModel = new PurchaseOrderPreliminaryDesignViewModel();
                var designList = connection.Query<PurchaseOrderPreliminaryDesignModel>("[dbo].[usp_PurchaseOrder_Preliminary_Design]", param: new
                {
                    LegacyKey = jobNumber
                }, commandType: CommandType.StoredProcedure);


                var vendorList = connection2.Query<PurchaseOrderPreliminaryVendorModel>("mystore", param: new
                {
                    Parameter = jobNumber
                }, commandType: CommandType.StoredProcedure);

                rModel.AddDesignList(designList).AddVendorList(vendorList);                 

                return rModel;
            }
        }
        return DoGetDesigns();
    }
    catch (Exception ex)
    {
        throw ex;
    }
}