无法从程序集“XXX”加载“XXX”类型。 at.OnModelCreating(DbModelBuilder modelBuilder)

时间:2016-07-29 13:25:50

标签: c# entity-framework visual-studio-2015 ef-code-first entity-framework-6

在我构建了我的模型后,我想查看它,所以我尝试使用EntityFramework Power工具直观地获取模型,但是我收到以下错误:

  

System.Reflection.TargetInvocationException:抛出了异常   通过调用的目标。 ---> System.TypeLoadException:可以   不从程序集加载“DomainClasses.CompanyLogo”类型   'DomainClasses,Version = 1.0.0.0,Culture = neutral,   公钥=空”。在   DataLayer.FinanceModelContext.OnModelCreating(DbModelBuilder   modelBuilder)   System.Data.Entity.Internal.LazyInternalContext.CreateModelBuilder()
  在   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()
  在   System.Data.Entity.Internal.LazyInternalContext.get_ModelBeingInitialized()   在System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(DbContext

我的域类可能会导致错误:

namespace DomainClasses
{
    public class CompanyLogo
    {
        public byte[] Logo { get; set; }

        public int CompanyId { get; set; }

        public virtual Company Company { get; set; }
    }
}

配置文件:

public class CompanyLogoMappings:EntityTypeConfiguration<CompanyLogo>
    {
        public CompanyLogoMappings()
        {
            this.HasKey(c => c.CompanyId);
            this.HasRequired(c => c.Company).WithOptional(cl => cl.CompanyLogo);
        }
    }

1 个答案:

答案 0 :(得分:0)

经过多次试验后,我发现了出现此错误的原因。

我通过CompanyLogo生成模型后添加了域类EF power tools

所以我重新启动VS 并构建Domain Classes项目并运行该工具,这样就可以了。