2011-12-13 4 views
1

Я пытаюсь настроить сценарий EF Code-Only с помощью базы данных AdventureWorksLT, но это не сработает.EF только для кода: недопустимое имя объекта 'dbo.BuildVersion'

У меня есть эта ошибка:

Invalid object name 'dbo.BuildVersion' 

ошибка происходит из executeReader во внутреннем способе EntityFramework.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 решит вашу проблему. Проблема выглядит аналогичной по номинальной стоимости. Дайте ему шанс и посмотрите, решает ли он.