实体框架7 - SET IDENTITY_INSERT跳过实体ID映射 ​​- 无法插入值

时间:2016-06-08 17:01:46

标签: entity-framework entity-framework-core dnx50

我有一个简单的实体类,如下所示:

[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()会出现以下错误

enter image description here

用于此项目的CSV文件(CSVReader工作正常 - 返回所有列和数据,如下所示)

enter image description here

enter image description here

我可能做错了什么?

0 个答案:

没有答案