1

Windows Phone 7 プラットフォームでデータベースを作成しました。次のように定義されたテーブルの 1 つ。

[Table]
public class Playlist : BaseTable
{
    // Define ID: private field, public property, and database column.
    private int _id;

    [Column(DbType = "INT NOT NULL IDENTITY", IsDbGenerated = false, CanBeNull=false, IsPrimaryKey = true)]
    public int Id
    {
        get { return _id; }
        set
        {
            NotifyPropertyChanging("PlaylistId");
            _id = value;
            NotifyPropertyChanged("PlaylistId");
        }
    }
    // some other field
    //.......

}

フィールド「id」がデータベースによって生成されたくないので、「IsDbGenerated = false」ですが、1 つのレコードを挿入すると例外が発生しました: db.Playlists.InsertOnSubmit(new Playlist { Id = (int)DefalutPlaylist.Default 、名前 = "デフォルト プレイリスト"、グループ = 0、タイプ = 0 });

「列は変更できません[列名= id]」と表示されました

誰が私を助けることができます...

4

1 に答える 1

4

次のように、DbTypeに「INDENTITY」値をドロップします。

[Column(DbType = "INT NOT NULL", IsDbGenerated = false, CanBeNull=false, IsPrimaryKey = true)]

乾杯

于 2012-06-27T11:48:25.790 に答える