有没有人有这样做的经验?我遇到的问题是确定XPO如何确定关系的链接字段的名称。
例如,我有两张表,
商家( MerchantID、ProcessorID等)将一对一链接到处理器
处理器( ProcessorID等)通过Merchant实现一对多的链接
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文档说上面的方法应该可以用,但它不能。
有什么帮助吗?
发布于 2011-05-31 23:29:42
在尝试了不同的语法后,我发现如果我将以下内容添加到Merchant类中,它就可以工作:
public class Merchant : XPLiteObject
{
[Persistent("ProcessorID")]
[Association("Processor-Merchants")]
public Processor Processor;
}发布于 2012-07-02 19:49:50
PersistentAttribute既可用于将类映射到表,也可以用于将属性映射到列。
如果省略它,table-/column same将与class-/propertyname相同,如果缺少,将创建table/column。这就是你第一次尝试的结果。
http://documentation.devexpress.com/#XPO/clsDevExpressXpoPersistentAttributetopic
https://stackoverflow.com/questions/6189716
复制相似问题