我正在使用sqlite和c#sqlite-net库。 我的一些实体:
public class Product
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[MaxLength(50)]
public string Name { get; set; }
[MaxLength(50)]
public string Brand { get; set; }
[MaxLength(50)]
public string Type { get; set; }
[MaxLength(50)]
}
public class ProductImage
{
public int Id { get; set; }
public string Name { get; set; }
public string Container { get; set; }
public int ProductId { get; set; }
}
现在所有实体都属于用户,用户应始终只使用自己的实体。所以当我在数据库中插入一个实体时,我想用它存储userId。 但是......我不想将userId添加到我的所有域类中。
我现在正在存储我的实体:
并选择如下:
有没有办法让sqlite-net将userId添加到数据库而不将其添加到所有域类中?
答案 0 :(得分:1)
它不支持继承,就像查看类型的层次结构一样吗?我建议它会,或者至少应该。因此,如果是,您可以使用抽象基类或接口。像这样:
public abstract class StandardEntity {
public int UserId { get; set; } // decorate with attributes as necessary
}
继承:
public class Product : StandardEntity {
}