如何阻止ServiceStack.Net OrmLite自动创建主键列?
我的模型如下:
public class Flower2Bee
{
public int FlowerId { get; set; }
public int BeeId { get; set; }
}
当我运行db.CreateTable(true,typeof(Flower2Bee))时,它为FlowerId col提供了一个具有唯一约束的主键索引。
由于上述模型旨在促进多对多关系,因此这是一个明显的问题。我也注意到这种情况发生在其他不打算使用主键的表中。
我的偏好是关闭此行为,因为我很乐意在需要时明确定义具有属性的主键。
如果重要的话,我正在使用OrmLite和SqLite。
答案 0 :(得分:4)
这是ServiceStack.Net OrmLite的已知限制:
https://github.com/ServiceStack/ServiceStack.OrmLite/blob/master/README.md#limitations
所有表必须具有主键才能保持与某些保持技术的兼容性。上述问题的解决方案是向模型添加第三个Id属性,作为每个关系行的主要ID。