我有两个表之间的继承关系,父是抽象的。
问题是更改Car实例的状态不会影响父表。
public abstract class Vehicle
{
public int Version { get; set; }
}
public class Car : Vehicle
{
public string Model { get; set; }
}
Vehicle x = context.Vehicles.FirstOrDefault();
x.Model = "new value";
context.Entry(x).State = EntityState.Modified;
context.SaveChanges();
我在数据库上的表Vehicle上发生更新操作时会发生触发器,并且由于表Vehicle未更新,因此永远不会执行触发器。
答案 0 :(得分:1)
实际上问题消失了,我仍然不知道它为什么存在,为什么会消失,但如果它再次存在,解决方案将是:
scope :by_featured_level, -> {
select("venues.*, (random() * 9 + 1) AS rdn").order('featured_level DESC, rdn') }
答案 1 :(得分:0)
好的,我看了一下这篇有趣的文章
实际上,EF Code First将继承类关系作为一个单独的表管理,并使用一个名为“Discriminator”的特殊字段。
此时,关于你在OP中所说的内容以及所遵循的注释中,你应该将触发器放在带有“discriminator”字段的表中,而不是放在最终存在的Vehicle表中由EF数据层支持。