【发布时间】:2020-07-26 16:25:41
【问题描述】:
其中一张表出现以下错误。该表没有主键。如何处理? 我正在尝试向表中添加新行。
错误
Unable to track an instance of type 'CommonDataZipInfo' because it does not have a primary key.
Only entity types with primary keys may be tracked.'
DataContext.cs
modelBuilder.Entity<CommonDataZipInfo>(entity =>
{
entity.HasNoKey();
entity.ToTable("COMMON_DATA_ZIP_INFO");
entity.Property(e => e.AddDate).HasColumnType("datetime");
entity.Property(e => e.ManuscriptNum)
.HasColumnName("manuscript_num")
.HasMaxLength(32)
.IsUnicode(false);
entity.Property(e => e.ZipfileName)
.HasMaxLength(32)
.IsUnicode(false);
});
程序.cs
var CommonDataZipInfo = new CommonDataZipInfo()
{
ManuscriptNum = ManuscriptNum,
ZipfileName = Path.GetFileName(fileName),
AddDate = DateTime.Now
};
context.CommonDataZipInfo.Add(CommonDataZipInfo);
context.SaveChanges();
【问题讨论】:
-
尝试阅读本文以运行实体框架而不进行跟踪:docs.microsoft.com/en-us/ef/core/querying/tracking
-
我不明白这个问题。您创建一个无键实体类型。它很好地记录了您可以使用它们做什么和不能做什么:docs.microsoft.com/en-us/ef/core/modeling/…。
标签: c# entity-framework .net-core entity-framework-core