nie mogę wstawić rekord w tabeliEntity Framework dodać nowy podmiot
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);
}
}
Dostaję błąd, gdy próbuję dodać nowy podmiot
null sklep generowane wartość została zwrócona na non-pustych element 'id' typu „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();
To może nie być odpowiedź, ale można spróbować zmienić '' Id' do int? Id' i spróbuj ponownie. – Nilesh
Czy kolumna ID o nazwie KPI_ID znajduje się w bazie danych? Ponadto: czy jesteś pewien, że twoje mapowanie jest poprawnie załadowane? – Kristof
Kolumna ID odwzorowała KPI_ID w tabeli bazy danych. mapowanie jest poprawnie załadowane. Jestem w stanie odzyskać i zaktualizować rekord, jedynym problemem jest wstawienie nowego rekordu. @Nilesh tak próbowałem robić int? dla Id, ale nie działa – Vijay