gpt4 book ai didi

entity-framework - Entity Framework 不更新位值

转载 作者:行者123 更新时间:2023-12-01 03:27:47 25 4
gpt4 key购买 nike

我的 Entity Framework 有一个奇怪的问题,在我的项目中我使用 EF 6 codefirst 而我的数据库我使用 sqlserver 2012

就像使用位类型 isactive 列的表 iam 一样,它仅表示 0 或 1。默认情况下,我将此列值保留为 1,这表示 true。

当我们想从表中删除一条记录时,我们应该将 1 设为 0,但 Entity Framework 不会更新该值。

有没有人遇到这个奇怪的问题?

代码:

 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 Attribute,这可能是导致问题的原因吗?

琐事上下文:
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; }
}

最佳答案

好吧,我使用 [DatabaseGenerated(DatabaseGeneratedOption.Computed)] 属性作为默认生成值,但这导致我 Entity Framework 无法生成 sql 来更新记录,因此当我删除此属性时,EF 能够生成更新事情,所以我现在可以继续我的工作。但是这种编码是对还是错......任何有经验的人都可以建议我解决这种问题......

问候
博斯

关于entity-framework - Entity Framework 不更新位值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40079187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com