加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:28:40 所属栏目:asp.Net 来源:网络整理
导读:我正在开发使用VS 2010和EF 4.3的ASP.NET MVC 4应用程序。它从外部数据库检索一些数据,并且都按预期工作,直到我试图重新编译一天。汇编之后,我收到以下EF错误: Invalid column name ‘CreatedOn’. 没有DB或代码更改 – 我只是添加了一些缩进的可读性。
我正在开发使用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.禁用分析器后,异常不再被抛出

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读