【问题标题】:ServiceStack Ormlite Reference Attribute For Same Type相同类型的 ServiceStack Ormlite 引用属性
【发布时间】:2014-10-27 21:10:00
【问题描述】:

在 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 并且只需要手动进行连接?

谢谢, 克里斯

【问题讨论】:

    标签: c# servicestack ormlite-servicestack


    【解决方案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 获得。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多