我有一个简单的实体类,如下所示:
[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 的 using (_context.Database.BeginTransaction()) 行错误,尽管代码已编译
但是使用 BeginTransaction() 会出现以下错误
用于此项目的 CSV 文件(CSVReader 工作正常 - 返回所有列和数据,如下所示)
我可能做错了什么?