2017-03-22 9 views
0

データを保存しようとするたびにDbUpdateExceptionエラーが発生します。EntityFramework.dllでDbUpdateExceptionエラーが発生しました

これは私のコードです:

tbl_UAM uam = new tbl_UAM 
        { 
         MDMRefNumber = tbxLastName.Text.Trim(), 
         SARId = tbxSARIdNewUAM.Text.Trim(), 
         FirstName = tbxFirstName.Text, 
         LastName = tbxLastName.Text, 
         CountryOfOrigin = cbxCountryOrigin.SelectedIndex, 
         PhoneNumber = tbxPhoneNumber.Text, 
         Center = Convert.ToInt16(cbxRRC.SelectedIndex), 
         Building = tbxBuilding.Text, 
         Floor = tbxFloor.Text, 
         SpecificDetails = tbxSpecificDetails.Text, 
        }; 

using (var context = new DemoDbEntities()) 
{ 
    context.tbl_UAM.Add(uam); 
    context.SaveChanges(); 
} 

、これが私のエラーです:問題がどこにある

An unhandled exception of type 'System.Data.Entity.Infrastructure.DbUpdateException' occurred in EntityFramework.dll

Additional information: An error occurred while updating the entries. See the inner exception for details.

今私は知っています。私のデータベースでは自動インクリメントを "はい"に設定しているので、実際にはアイデンティティの仕様の問題です。アイデンティティの仕様をfalseに設定しなければならないことも知っています。私は自分のコードでそれを行う方法を知らず、実際に理解し実装することはできません。誰かが私にどのようにして説明することができますか?

答えて

2

クラス定義でID列を識別する必要があります。このような何か:

public class tbl_UAM 
{ 
    /// <summary> 
    /// Gets or sets the entity identifier 
    /// </summary> 
    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int Id { get; set; } 

    public string FirstName {get; set;} 

    // the rest of columns 

}

+0

私はこれを追加しましたが、私はまだ同じエラーを取得しています! – Ali

+0

「SARId」はあなたにエラーをもたらしますか?はいの場合は、なぜ値を割り当てようとしているのかを尋ねる必要があります。コードからプロパティ初期化を削除するだけです。 – Sparrow

+0

いいえ、そのIDは私が指示したとおりに追加したばかりです。私はModel Firstを使用していることを思い出さなければなりません。 – Ali

関連する問題