1
AdventureWorksLTデータベースでEFコードのみのシナリオを設定しようとしていますが、機能しません。EFコードのみ:無効なオブジェクト名 'dbo.BuildVersion'
私はこのエラーを持っている:
Invalid object name 'dbo.BuildVersion'
エラーは、そのクエリでEntityFramework.dll
の内側の方法でexecuteReader
から来ている:もちろん
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());
}
}