Mapping DevExpress XPO包装现有表关系

Mapping DevExpress XPO包装现有表关系,mapping,devexpress,xpo,Mapping,Devexpress,Xpo,我正在试验XPO并尝试包装一些现有的表。有人有这样做的经验吗?我遇到的问题是确定XPO如何确定关系的链接字段的名称 比如我有两张桌子 商户、加工商等。。。将1链接到1与处理器 处理器处理器ID等。。。与商户链接1到多 DevExpress表示要按如下方式建立关系: public class Merchant : XPLiteObject { [Association("Processor-Merchants")] public Processor Processor; } pu

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

比如我有两张桌子

商户、加工商等。。。将1链接到1与处理器

处理器处理器ID等。。。与商户链接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文档说上面的方法应该有效,但事实并非如此


有什么帮助吗?

在尝试了不同的语法之后,我发现如果我将以下内容添加到Merchant类中,它会起作用:

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

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

如果省略它,表-/ColumnName将与类-/propertyname相同,如果缺少,将创建表/列。这就是你第一次尝试时发生的事情