EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

设置一对多关系(XPO)

在本课程中,您将学习如何在业务对象之间设置一对多关系。的联系部门业务对象将由一个一对多的关系有关。为此,Contacts属性将被添加到Department类中,代表关系的“许多”部分。然后,您将学习参考对象自动用户界面构建的基础。

  • 要实现Department-Contacts关系的“一个”部分,请用AssociationAttribute装饰Contact类的Department属性。

    [DefaultClassOptions]
    public class Contact : Person {
        //...
        private Department department;
        [Association("Department-Contacts")]
        public Department Department {
            get {return department;}
            set {SetPropertyValue(nameof(Department), ref department, value);}
        }
        //...
    }
    

    有关“关联”属性的信息,请参阅“设置多对多关系(XPO)”课程。

  • 要实现Department-Contacts关系的“许多”部分,请将Contacts属性添加到Department类,并用Association属性装饰此属性。

    public class Department : BaseObject {
        //...
        [Association("Department-Contacts")]
        public XPCollection<Contact> Contacts {
            get {
                return GetCollection<Contact>(nameof(Contacts));
            }
        }
    }
    
    注意

    如果安装了CodeRush,则可以在实现业务类时使用代码模板。使用代码模板可减少代码创建时间,因为它有助于避免手动键入整个代码,并使您只需几次击键即可创建常规代码部分。要了解eXpress持久对象的内置代码模板,请参阅XPO和XAF模板主题。

  • 运行WinForms或ASP.NET应用程序。调用Department对象的详细信息视图(请参阅上一课``设置多对多关系(XPO) '')。您可以看到“联系人”组。要将对象添加到“联系人”集合中,请使用此选项卡中的“新建”button_new)或“链接”link_btn)按钮。“链接”按钮允许添加对现有Contact对象的引用。

    Tutorial_BMD_Lesson6_1

    要从该集合中删除对对象的引用,请使用“取消链接unlink_img)”按钮。

提示

如果创建新部门,然后在“联系人”集合中创建新联系人,则在新创建的“联系人”的“详细信息视图”中不会立即显示关联的部门。当您保存Contact时,稍后将添加这些对象之间的链接。您可以使用XafApplication.LinkNewObjectToParentImmediately属性更改此行为。设置为true时,单击“新建”后将立即创建并保存链接。

您可以在MySolution.Module中查看本课程中演示的代码。业务对象| XAF随附的Main Demo的Contact.csContact.vb)文件。该MainDemo应用程序安装在%PUBLIC%\文件\ DevExpress的演示19.2 \组件\ eXpressApp框架\ MainDemo默认。可从http://demos.devexpress.com/XAF/MainDemo/在线获得ASP.NET版本。

下一课: 创建对象(XPO)后初始化属性

相关文章

转载保留此链接,注明出处