0

我正在试验 XPO 并试图包装一些现有的表。有没有人有这样做的经验?我遇到的问题是确定 XPO 如何确定关系的链接字段的名称。

例如,我有两张桌子,

商家(MerchantID、ProcessorID 等)将 1 到 1 与处理器链接

处理器(ProcessorID 等...)将 1 链接到许多与商家

DevExpress 说建立关系如下:

public class Merchant : XPLiteObject
{
    [Association("Processor-Merchants")]
    public Processor Processor;
}

public class Processor : XPLiteObject
{
    [Association("Processor-Merchants", typeof(Merchant))]
    public XPCollection Merchants {
        get { return GetCollection("Merchants"); }
    }
}

但我的问题是,XPO 如何知道将这些关系联系在一起的关键领域是什么?此示例在 XAP 应用程序中编译和运行,但每个关系都缺少数据(可能是因为它不知道哪些字段将表链接在一起)。

是否缺少我需要添加的语法来建立这些关系?或者,也许需要一些额外的代码?DevExpress 文件说上面应该可以工作,但它没有。

有什么帮助吗?

4

2 回答 2

0

PersistentAttribute 既可用于将类映射到表,也可用于将属性映射到列。

如果你忽略它,table-/columname 将与 class-/propertyname 相同,如果缺少则将创建 table/column。这就是你第一次尝试时发生的事情。

http://documentation.devexpress.com/#XPO/clsDevExpressXpoPersistentAttributetopic

于 2012-07-02T11:49:49.833 回答
0

在尝试了不同的语法之后,我发现如果我在 Merchant 类中添加以下内容,它就可以工作:

public class Merchant : XPLiteObject
{
    [Persistent("ProcessorID")]
    [Association("Processor-Merchants")]
    public Processor Processor;
}
于 2011-05-31T15:29:41.743 回答