我與實體框架一個奇怪的問題,在使用EF 6 codefirst我的項目IM和使用的isactive柱使用SQLSERVER 2012實體框架不更新位值
與表IAM我的數據庫IM類型位,它只代表0或1。並默認我保持這個列值爲1,這代表真實。
當我們想從表中刪除一條記錄時,我們應該使1到0,但實體框架不更新值。
是有這個奇怪問題的任何一個解決方案嗎?
代碼:
using (var context = new TriviaContext())
{
var booking = context.Booking.FirstOrDefault(b => b.BookingId == id);
context.Entry(booking).Property(u => u.IsActive).IsModified=true;
booking.IsActive = false;
context.SaveChanges();
return Ok(booking);
}
訂房型號:
class Booking
{
public int BookingId { get; set; }
public string Name{get;set;}
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public bool? IsActive { get; set; }
}
編輯:其實我已經包含DatabaseGenerated屬性在我的模型類,可能是這個原因造成的問題?
TriviaContext:
public class TriviaContext : DbContext
{
public TriviaContext()
: base("name=DefaultConnection")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
public DbSet<Bookings> Booking { get; set; }
}
你能展示一些代碼,表結構? – Danh
你能顯示代碼嗎? – Sampath
以及EF沒有生成更新代碼... – user3768179