[英]Entity framework add new entity
我無法在表格中插入記錄
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);
}
}
當我嘗試添加新實體時,我收到錯誤
為“EISM.Database.Models.KPITable”類型的非可空成員“Id”返回了一個空存儲生成的值
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();
這解決了我的問題
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }
或者你可以刪除這一行
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
這應該工作:
var newEntity = new KPITable();
newEntity.Id = 55;
newEntity.Name = data.Name;
newEntity.Query = data.Query;
newEntity.TableName = data.TableName;
_dbContext.KPIs.AddObject(newEntity);
_dbContext.SaveChanges();
附加是針對現有實體(當它們被分離時,或者當您想要將它附加到另一個實體時)。
AddObject適用於新實體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.