InvalidOperationException:该属性是对象的密钥信息的一部分,无法修改

时间:2013-07-08 05:45:23

标签: entity-framework-4 invalidoperationexception

我尝试更改列值时收到此错误。

以下是我遇到此问题的方法:

1)我需要将此位列添加到现有表中。

    ALTER TABLE BooksDB.dbo.Books
    ADD edited bit NOT NULL DEFAULT(0),

2)在项目中更新了我的EF模型。

3)现在,当我尝试更改'编辑的'实体对象的属性,我从主题行得到错误。

为什么?

EF对象声明:

    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
    [DataMemberAttribute()]
    public global::System.Boolean edited
    {
        get
        {
            return _edited;
        }
        set
        {
            if (_edited != value)
            {
                OneditedChanging(value);
                ReportPropertyChanging("edited");
                _edited = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("edited");
                OneditedChanged();
            }
        }
    }
    private global::System.Boolean _edited;
    partial void OneditedChanging(global::System.Boolean value);
    partial void OneditedChanged();

1 个答案:

答案 0 :(得分:0)

通过向表中添加PRIMARY KEY解决了这个问题。