public async Task Send() { if (Data?.Fields?.Length == 0) { throw new ArgumentException("please name the fields in Data"); } var rdr = new RowDataReader(valuesToBeSent, Data.Fields); var con = Data.ConnectionString; using (var sbc = new SqlBulkCopy(con, Options)) { sbc.DestinationTableName = Data.TableName; await sbc.WriteToServerAsync(rdr); } }
public async Task TestDataIsOkForRowDataReader() { #region arrange var rows = new List <IRow>(); int nrRows = 10; for (int i = 0; i < nrRows; i++) { var rowAndrei = new Mock <IRow>(); rowAndrei.SetupProperty(it => it.Values, new Dictionary <string, object>() { ["ID"] = i, ["FirstName"] = "Andrei" + i, ["LastName"] = "Ignat" + i } ); rows.Add(rowAndrei.Object); } #endregion #region act var rr = new RowDataReader(rows.ToArray(), "ID", "FirstName"); #endregion #region assert int nrRecords = 0; while (await rr.ReadAsync()) { Assert.AreEqual(nrRecords, rr["ID"]); Assert.AreEqual("Andrei" + nrRecords, rr["FirstName"]); nrRecords++; } Assert.AreEqual(nrRows, nrRecords); #endregion }