Предполагая, что вам нужно вставлять записи/обновления в таблицу с определенной схемой, то вы можете использовать следующий код, используя Чудной, копировать мой собственный код
int recordsAffected =
_connection.Execute(@"insert into person.MyPerson(FirstName,EmailPromotion,LastName,MiddleName,NameStyle,PersonType,Suffix,Title)
values (@FirstName,@EmailPromotion,@LastName,@MiddleName,@NameStyle,@PersonType,@Suffix,@Title)", customPersons);
Важным моментом здесь является customPersons
имеет тип List<CustomPerson>
с схема такая же, как требуемые параметры в запросе, как показано ниже. До точки же число столбцов в соответствии с требованиями запроса доступны, Щеголеватый будет в состоянии сделать замену значения и выполнить запрос
[ProtoContract]
[Serializable]
public class CustomPerson
{
////[ProtoMember(1)]
////public int BusinessEntityId { get; set; }
[ProtoMember(2),ProtoIgnore]
public string PersonType { get; set; }
[ProtoMember(3)]
public bool NameStyle { get; set; }
[ProtoMember(4)]
public string Title { get; set; }
[ProtoMember(5)]
public string FirstName { get; set; }
[ProtoMember(6)]
public string MiddleName { get; set; }
[ProtoMember(7)]
public string LastName { get; set; }
[ProtoMember(8)]
public string Suffix { get; set; }
[ProtoMember(9)]
public int EmailPromotion { get; set; }
}
Хотя это является внутренним способом Щеголеватого для выполнения DML, в случае, если вы ищу массовую вставку, то SqlBulkCopy
является лучшим вариантом
Посмотрите на [Dapper.Contrib] (https://github.com/StackExchange/dapper-dot-net/tree/master/Dapper.Contrib) –
Также [Dapper-Extensions] (https: // github.com/tmsmith/Dapper-Extensions) –
Спасибо за два предложения, я посмотрю на это. –