![](/img/trans.png)
[英]EntityType ' ' has no key defined. Define the key for this EntityType. - C# Web API Entity Framework
[英]Entity framework Validation errors has no key defined. Define the key for this EntityType
當我嘗試在數據庫上下文中保存對象時,我收到此實體框架錯誤。 我不知道從哪里開始尋找。
這可能發生什么?
我怎樣才能找出問題所在呢?
謝謝。
{System.Data.Entity.ModelConfiguration.ModelValidationException: One or more validation errors were detected during model generation:
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'Exception' has no key defined. Define the key for this EntityType.
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'AssemblyName' has no key defined. Define the key for this EntityType.
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'CultureInfo' has no key defined. Define the key for this EntityType.
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'DateTimeFormatInfo' has no key defined. Define the key for this EntityType.
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'IdentityReference' has no key defined. Define the key for this EntityType.
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'Exceptions' is based on type 'Exception' that has no keys defined.
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'AssemblyNames' is based on type 'AssemblyName' that has no keys defined.
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'CultureInfoes' is based on type 'CultureInfo' that has no keys defined.
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'DateTimeFormatInfoes' is based on type 'DateTimeFormatInfo' that has no keys defined.
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'IdentityReferences' is based on type 'IdentityReference' that has no keys defined.
at System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateAndSerializeCsdl(EdmModel model, XmlWriter writer)
at System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateCsdl(EdmModel model)
at System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo)
at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)
at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)
at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)
at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
at System.Data.Entity.Internal.InternalContext.Initialize()
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
at System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName)
at System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity)
at System.Data.Entity.DbSet`1.Add(TEntity entity)
at MVCDaemon.Controllers.AwardBadgesController.FromUnprocessedEvents() in Hobby Stuff\Hehe\Hehe.Daemon\Controllers\AwardBadgesController.cs:line 58}
和我的其他東西:
DaemonDB.Tasks.Add(T);
和
public class DaemonDBContext : DbContext
{
public DaemonDBContext() : base("DefaultConnection") { }
//Collections also in BaseDBContext:
public DbSet<Badge> Badges { get; set; }
public DbSet<BadgeGroup> BadgeGroups { get; set; }
public DbSet<Event> Events { get; set; }
//Collections only in DaemonDBContext
public DbSet<EventCheckedForBadgeReward> EventCheckedForBadgeReward { get; set; }
public DbSet<Task> Tasks { get; set; }
}
和
public class Task
{
public int ID { get; set; }
public string FriendlyTitle { get; set; }
public DateTime TimeOfExecution { get; set; }
public TimeSpan LengthOfExecution { get; set; }
public Stopwatch StopWatch;
public Exception ExceptionEncountered { get; set; }
public Task() {
TimeOfExecution = DateTime.Now;
}
public void StartStopwatch()
{
StopWatch = Stopwatch.StartNew();
StopWatch.Start();
}
public void StopStopwatch()
{
StopWatch.Stop();
}
public string GetStatusAsFriendly()
{
return ExceptionEncountered == null ? "Success" : "Failed";
}
}
不得不在某些屬性上使用[NotMapped]屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.