0

ほぼ一日中、SQL Server CE 4.0 で苦労しています。新しいレコード (エンティティ) をデータベースに保存しようとすると、このエラーが発生します。

最初のプレビュー - NuGet 経由で SQL Server CE 4.0 をインストールし、プロジェクト用のデータベースを作成しました。次に、Entity Framework モデル レイヤーを作成し、それを使い始めました。

このエラーが発生すると、内部例外は次のようになります。

列は変更できません。[ 列名 = Id ]

少し調べてみたところ、Idプロパティの設定が原因である可能性があることがわかったので、次のように変更しました。

ID設定

テスト目的で手動で挿入した 17 のレコードが既にありますが、これが問題を引き起こす可能性があるとは思えません。

だから私がやろうとしていることはこれです:

public override void Save()
{
            using (RalBaseEntities ctx = new RalBaseEntities())
            {
                System.Data.Entity.DbSet<MainInfo> mainInfoEntity = ctx.Set<MainInfo>();

                MainInfo entity = new MainInfo();
                entity.Manager = txtManager.Text;
                entity.Broker = txtBroker.Text;

                mainInfoEntity.Add(entity);
                ctx.SaveChanges();               
            }
}

そのため、メソッドを実行しようとすると、Save()上記のエラーが発生します。以前のバージョンでは手動で作成する必要があると書きましたがid、v. 4.0 で修正され、ここに画像として表示されている設定から判断すると、自動生成された新しいレコードを取得するだけの理由はわかりません。ユニークId

私が得た言葉UpdateDbUpdate Exception私を少し心配しています。間違った方法でデータを保存しようとしているのかもしれませんが、グーグル検索に多くの時間を費やしており、正しい方法のようです。

4

0 に答える 0