我有一个模型:
public class A {
public int NameID {get; set; }
public string Name { get; set; }
public string Value { get; set; }
}
我使用了一个EnumerableDataReader,它是IDataReader的一个实现,除了没有填充identity属性:在插入之后是a.nameID之外,它似乎工作得很好。这是我的完整代码:
var dr = new EnumerableDataReader<A>(lst);
using (var bulkCopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction)) {
bulkCopy.ColumnMappings.Add(nameof(A.NameID), "nameid");
bulkCopy.ColumnMappings.Add(nameof(A.Name), "name");
bulkCopy.ColumnMappings.Add(nameof(A.Value, "value");
bulkCopy.DestinationTableName = "NameTable";
bulkCopy.WriteToServer(dr);
}
此时,我希望所有对象的“nameid”都用当前数据库中该行的identity列值填充。
我做错什么了?