在ServiceStack OrmLite中,我有一个表定义如下:
public class Foo {
[PrimaryKey]
[AutoIncrement]
public long Id { get; set; }
[References(typeof(Bar))]
public long BarAId { get; set; }
[References(typeof(Bar))]
public long BarBId { get; set; }
[Reference]
public Bar BarA { get; set; }
[Reference]
public Bar BarB { get; set; }
}
显然Bar是另一个表,BarA和BarB引用父表中的两个不同的条目。当我尝试解决BarA和BarB时,它们是相同的。有没有办法用两个相同类型的父对象进行自动引用,或者我是SOL,只需要手动连接吗?
谢谢, 克里斯
答案 0 :(得分:1)
支持多个自我引用是added in this commit。
为了能够使用正确的引用匹配字段,FK参考ID必须采用您在示例中也完成的格式{ReferenceProperty}Id
:
public class Foo
{
...
[References(typeof(Bar))]
public long BarAId { get; set; }
[Reference]
public Bar BarA { get; set; }
[References(typeof(Bar))]
public long BarBId { get; set; }
[Reference]
public Bar BarB { get; set; }
}
此功能可从 v4.0.33 + now available on MyGet获得。