2011-12-13 22 views
1

我正在尝试使用AdventureWorksLT数据库设置仅限EF代码的方案,但它不起作用。EF仅限代码:无效的对象名称'dbo.BuildVersion'

我有这样的错误:

Invalid object name 'dbo.BuildVersion' 

误差来自一个executeReaderEntityFramework.dll与该查询的内方法:

SELECT 
[Extent1].[SystemInformationID] AS [SystemInformationID], 
[Extent1].[Database Version] AS [Database Version], 
[Extent1].[VersionDate] AS [VersionDate], 
[Extent1].[ModifiedDate] AS [ModifiedDate] 
FROM [dbo].[BuildVersion] AS [Extent1] 

当然查询正确并返回结果。

那么,为什么我有这个例外?

下面是代码(我删除所有的惯例):

public class BuildVersionConfiguration : EntityTypeConfiguration<BuildVersion> 
    { 
     /// <summary> 
     /// Initializes a new instance of the <see cref="BuildVersionConfiguration"/> class. 
     /// </summary> 
     public BuildVersionConfiguration() 
     { 
      this.ToTable("BuildVersion", "dbo"); 

      this.HasKey(e => new { e.SystemInformationId, e.DatabaseVersion, e.VersionDate, e.ModifiedDate }); 

      this.Property(e => e.SystemInformationId).HasColumnName("SystemInformationID").IsRequired(); 
      this.Property(e => e.DatabaseVersion).HasColumnName("Database Version").IsRequired(); 
      this.Property(e => e.VersionDate).HasColumnName("VersionDate").IsRequired(); 
      this.Property(e => e.ModifiedDate).HasColumnName("ModifiedDate").IsRequired(); 
     } 
    } 

而且......

public class MyContext : DbContext 
    { 
     public DbSet<BuildVersion> BuildVersion { get; set; } 


     // Methods 
     protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     { 
      // Remove conventions 

      modelBuilder.Configurations.Add(new BuildVersionConfiguration()); 
     } 
    } 

回答

0

不知道这link将解决你的问题。这个问题在面值上看起来很相似。试试看看它是否能解决问题。