我有一个简单的实体类,如下所示:
[Table("Grade")]
public class Grade
{
//Tried changing this annotation to Identity
//[DatabaseGenerated(DatabaseGeneratedOption.None), Key]
[Key]
public int GradeId { get; set; }
public string GradeName { get; set; }
}
我正在尝试使用EF7和CSVHelper为我正在工作的DNX 5项目播种,如下
using (StreamReader reader = new StreamReader(fs, System.Text.Encoding.UTF8, false)){
CsvReader csvReader = new CsvReader(reader);
IEnumerable<Grade> grades = csvReader.GetRecords<Grade>();
using (_context.Database.BeginTransaction())
{
_context.Database.ExecuteSqlCommand(@"SET IDENTITY_INSERT [dbo].[Grade] ON");
_context.Grades.AddRange(grades);
_context.SaveChanges();
_context.Database.ExecuteSqlCommand(@"SET IDENTITY_INSERT [dbo].[Grade] OFF");
}}
如果我注释IDENTITY_INSERT OFF的使用(_context.Database.BeginTransaction())行错误,虽然代码已编译出现
然而,使用BeginTransaction()会出现以下错误
用于此项目的CSV文件(CSVReader工作正常 - 返回所有列和数据,如下所示)
我可能做错了什么?