我正在使用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)
我的银行类如下所示:
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 吗?