代码首先映射表字段的一部分

时间:2013-04-02 09:09:59

标签: entity-framework ef-code-first

我首先使用了代码,已经存在数据库表t_News,包含字段 Id,NewsTitle,Content,AutoKeywords,作者。但我不希望实体包含字段作者 所以定义这个实体类:

[Table ("t_News")]
public class News
{
    public int Id {get; set;}
    public string NewsTitle {get; set;}
    public string Content {get; set;}
    public string AutoKeywords {get; set;}
}

运行时错误: 未处理的异常:System.InvalidOperationException:支持'PartCo的模型 自创建数据库以来,ntext'上下文已更改。考虑使用Code F. 第一次迁移以更新数据库(http://go.microsoft.com/fwlink/?LinkId=2 38269)。

2 个答案:

答案 0 :(得分:0)

您应首先创建迁移。像这样:

Add-Migration "YouMigrationName" -ConnectionString "Data Source=.; Integrated Security=True; Pooling=False; MultipleActiveResultSets=true;" -ConnectionProviderName System.Data.SqlClient

您必须更新数据库。这也是某种例子:

Update-Database -ConnectionString "Data Source=.; Integrated Security=True; Pooling=False; MultipleActiveResultSets=true;" -ConnectionProviderName System.Data.SqlClient

答案 1 :(得分:0)

由于__MigrationHistory表存在,您实际上不是“现有数据库中的代码”,因为数据库是以某种方式由EF创建的。

所以你可以放弃__MigrationHistory。这将带您进入“现有数据库中的代码”。但是你必须考虑掉落的东西。这至少是EF的迁移功能。所以你必须问你:为什么这个数据库是由EF创建的? __MigrationHistory只影响我吗?