我无法在表中插入一条记录实体框架添加新的实体
public class KPITable
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Query { get; set; }
public string TableName { get; set; }
}
public class KPITableMap : EntityTypeConfiguration<KPITable>
{
public KPITableMap()
{
ToTable("EIS_KPI", AppUtility.EISMDBSchemaName);
Property(t => t.Id).HasColumnName("KPI_ID");
Property(t => t.Name).HasColumnName("NAME").HasMaxLength(20);
Property(t => t.Query).HasColumnName("QUERY").HasMaxLength(20);
Property(t => t.TableName).HasColumnName("TABLE_NAME").HasMaxLength(20);
}
}
我得到错误,当我尝试添加新的实体
一个空店产生的价值是为返回非可空构件 类型的 'ID'“EISM.Database.Models.KPITable
var newEntity = new KPITable();
newEntity.Id = 55;
newEntity.Name = data.Name;
newEntity.Query = data.Query;
newEntity.TableName = data.TableName;
_dbContext.KPIs.Attach(newEntity);
_dbContext.Entry(newEntity).State = EntityState.Added;
_dbContext.SaveChanges();
这可能不是答案,但你可以尝试改变'Id'到'诠释? Id'并再次尝试操作。 – Nilesh
数据库中的ID列是否名为KPI_ID?另外:你确定你的地图加载正确吗? – Kristof
ID列映射数据库表中的KPI_ID。映射加载正确。我能够检索和更新记录,只有问题是插入新记录。 @Nilesh是的,我试图让int?为Id,但没有工作 – Vijay