在SQLite-net-extensions中允许NULL外键的方法如下:
public class OrderItem
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[ForeignKey(typeof(Order))]
[NotNull]
public int? OrderId { get; set; }
// 其他属性
}
public class OrderItem
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[ForeignKey(typeof(Order))]
[NotNull]
[ManyToOne(CascadeOperations = CascadeOperation.Nullify)]
public int? OrderId { get; set; }
// 其他属性
}
PRAGMA foreign_keys = ON;
语句启用外键约束。这样,在SQLite-net-extensions中就可以允许NULL外键了。当删除父实体时,与之相关的子实体的外键将被设置为null,而不会引发异常。注意,SQLite本身不支持真正的外键约束,SQLite-net-extensions只是模拟了外键的行为。
推荐的腾讯云相关产品:无 SQLite-net-extensions是基于SQLite的扩展库,不直接关联腾讯云产品。
领取专属 10元无门槛券
手把手带您无忧上云