【发布时间】:2018-06-15 18:13:58
【问题描述】:
我有一个模型:
public class A {
public int NameID {get; set; } //this represents the identity column in the database
public string Name { get; set; }
public string Value { get; set; }
}
我使用了一个 EnumerableDataReader,它是 IDataReader 的一个实现,它似乎工作得很好,只是它在 INSERT 发生后没有填充身份 PROPERTY: 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”都将填充当前在数据库中该行的标识列的值。
我做错了什么?
【问题讨论】:
标签: c# sql .net sql-server