我正在使用Entity Framework 6.1版本。
我正在DB上执行插入操作。我打算在Db中插入行列表。
任何人都可以建议最好的方法,因为我必须将批量记录插入Db。
这是我的代码:
public void InsertData(List<TimingModel> modelList)
{
foreach (var model in modelList)
{
_dbContext.dbSet.Add(model);
}
_dbContext.SaveChanges();
}
这是我的TimingModel
public class Model
{
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public int UID{get;set;}
public string Application { get; set; }
public string Service { get; set; }
public string Call { get; set; }
public string Verb { get; set; }
public string API { get; set; }
public string HttpResponse { get; set; }
public DateTime StartTime { get; set; }
public DateTime StopTime { get; set; }
public int Duration { get; set; }
public int SQLDuration { get; set; }
public string Caller { get; set; }
public string Nodename { get; set; }
public string Server { get; set; }
public string Logfile { get; set; }
public string Product { get; set; }
public string Session { get; set; }
public int OrganisationUID { get; set; }
}
下面是我的Mapper:
public class TimingMapper: EntityTypeConfiguration<TimingModel>
{
public TimingMapper()
{
// Primary Key
this.HasKey(n => n.UID);
// Table & Column Mappings
this.ToTable("Timing");
this.Property(n => n.OrganisationUID).HasColumnName("OrgUID");
}
}
我得到以下例外:
对主键列具有属性的表的修改 不支持将“StoreGeneratedPattern”设置为“已计算”。使用 相反,“身份”模式。键列:'UID'。表: 'CodeFirstDatabaseSchema.model'。
有人可以建议吗?
答案 0 :(得分:0)
感谢您的支持。
我想出了数据库表中的问题,列的大小较小。
在增加Database表中列的大小后,它得到了解决。