我需要通过遍历连接字符串来进行多个数据库调用。数据库中只有 1 条匹配记录,如果我找到匹配记录,那么我可以返回数据并取消其他异步调用。
using (var Contexts = instContextfactory.GetContextList())
{
foreach(var context in Contexts.GetContextList())
{
// how do I make all the calls and return data from the first call that finds data and continue with further process.(don't care about other calls if any single call finds data.
context.Insurance.GetInsuranceByANI(ani);
}
}
通过 ANI 获取保险
public Task<IEnumerable<Insurance>> GetInsuranceByANI(string ani)
{
using (ITransaction transaction = Session.Value.BeginTransaction())
{
transaction.Rollback();
IDbCommand command = new SqlCommand();
command.Connection = Session.Value.Connection;
transaction.Enlist(command);
string storedProcName = "spGetInsurance";
command.CommandText = storedProcName;
command.Parameters.Add(new SqlParameter("@ANI", SqlDbType.Char, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Default, ani));
var rdr = command.ExecuteReader();
return Task.FromResult(MapInsurance(rdr));
}
}
例如:我正在循环使用 5(a, b, c, d, e) 个不同的数据库连接字符串。我需要对所有 5 个数据库进行异步调用。如果我在 db : b 中找到匹配的记录,那么我可以返回该数据并继续下一步,并且可以停止调用其他数据库
慕尼黑的夜晚无繁华
子衿沉夜
相关分类