使用Code First EF的列名称table_Id无效

时间:2017-05-10 02:56:26

标签: c# sql entity-framework

抛出错误

的异常
Invalid column name 'Person_Id'.

看起来Code First正在尝试创建此列,因为它无法找到它,但这是一个非常基本的模型,没有FK,所以我不明白为什么我有这个调用SaveChanges()

时出现问题

我可以使用EF来获取,更新和删除此表中的记录,但不能创建新记录。

我还有另一个实体基本相同,但名称不同,并且在该实体上没有任何CRUD操作问题。

这是我的DBContext

public class EFContext : DbContext
{
    public EFContext() : base("DataContext")
    {
        Database.SetInitializer<EFContext>(null);
    }

    public DbSet<Person> Persons { get; set; }
}

我的SQL表

CREATE Person [dbo].[Person](
    [PersonId] [int] IDENTITY(1,1) NOT NULL,
    [Name] [varchar](500) NOT NULL,
    CONSTRAINT [PK_Person] PRIMARY KEY CLUSTERED 
([PersonId] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

我的模特

public class Person: ModelBase
{
    [Column("PersonId")]
    public int Id { get; set; }
    public string Name { get; set; }
}

0 个答案:

没有答案