エンティティフレームワーク6とともにSQL Server 2008をバックエンドデータベースとして使用するMVC5 Webアプリケーションがあります。コードの追加でエラーは発生しませんが、データはデータベースに格納されません。Entity Framework 6で変更が保存されない
私のモデルcontext.csは
public partial class checkin_checkoutEntities2 : DbContext
{
public checkin_checkoutEntities2()
: base("name=checkin_checkoutEntities2")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<Advance_Booking> Advance_Bookings { get; set; }
public virtual DbSet<employee_reg> employee_reg { get; set; }
public virtual DbSet<Extend_Stay> Extend_Stay { get; set; }
public virtual DbSet<Guest_reg> Guest_reg { get; set; }
public virtual DbSet<RoomBooking> RoomBooking { get; set; }
public virtual DbSet<Rooms_ms> Rooms_ms { get; set; }
}
のように見えて、私の添加方法は、あなたのコードを少し変更し、次を試すことができます
ab.Room_id = Convert.ToInt32(ab_rm_no.room_id);
ab.Guest_id = Convert.ToInt32(frm["guest_id"].ToString());
ab.Expected_checkin = Convert.ToDateTime(frm["BookedDateFR"].ToString());
ab.Expected_checkout = Convert.ToDateTime(frm["BookedDateTO"].ToString());
db.Advance_Bookings.Add(ab);
db.SaveChanges();
デバッグして何がdb.Advance_Bookings.Add(ab);に追加されているのかを確認しようとしましたか? –
DataContextはデータベースからエンティティをロードしますか?あなたの接続文字列は、少なくとも言わないほど疑わしいと思われます。 –
@RomanoZumbéはい、エンティティフォームdbをロードします。 –