asp.net-mvc – 实体框架4.3 无效的列名称“CreatedOn”

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 实体框架4.3 无效的列名称“CreatedOn”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发使用VS 2010和EF 4.3的ASP.NET MVC 4应用程序。它从外部数据库检索一些数据,并且都按预期工作,直到我试图重新编译一天。汇编之后,我收到以下EF错误

Invalid column name ‘CreatedOn’.

没有DB或代码更改 – 我只是添加了一些缩进的可读性。 TFS以前的应用程序版本也抛出相同的异常。

我的实体中没有CreatedOn属性,在数据库中没有这样的字段,我不需要它,并且不希望它在任何情况下。

应该做什么来避免这个例外?

这是我用于访问数据的自定义数据库上下文:

public class MyContext<T> : DbContext where T : class,IDataEntity
{
   public MyContext(string connectionKey)
        : base("name=" + connectionKey)
    {
        Configuration.AutoDetectChangesEnabled = false;            
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Label>().Property(item => item.Id).HasColumnName("LabelId");
        modelBuilder.Entity<Label>().Ignore(item => item.ChangedBy);
    }
}

这是Label类

public class BaseEntity : IDataEntity 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public string ChangedBy { get; set; } 
} 

public class Label : BaseEntity 
{ 
}

解决方法

在我的情况下,这是MiniProfiler。我使用EF 5.0,它使用EF 4.x.禁用分析器后,异常不再被抛出

猜你在找的asp.Net相关文章