Entity Framework 4.1 code first
既存のデータベースに接続するために使用しています。私が最初に使用しているテーブルは と呼ばれBank
ます。Bank class
ドメインモデルとしても持っています。これは、クラスとテーブルをどのようにマッピングしたかです。
public class HbfContext : DbContext
{
public DbSet<Bank> Banks { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Bank>().ToTable("Bank");
}
}
マイ バンク テーブル:
BankID INT
BankName VARCHAR(50)
私の Bank クラスは次のようになります。
public class Bank
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
}
すべての銀行を返却したいときに問題が発生しています。以下から返された SQL ステートメント:
return db.Banks
.OrderBy(x => x.Name);
は:
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[Name] AS [Name],
[Extent1].[IsActive] AS [IsActive]
FROM
[dbo].[Bank] AS [Extent1]
ORDER BY
[Extent1].[Name] ASC
テーブルに Id、Name、および IsActive 列がないため、これは機能しません。これを修正するにはどうすればよいですか? EF は BankId を Id に、BankName を Name に自動的にマップしますか?