EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

提供初始数据(XPO)

注意

在继续之前,请花一点时间回顾“从业务类库类(XPO)继承”课程。

  • 打开位于MySolution.Module项目的“数据库更新”文件夹中的Updater.csUpdater.vb)文件。将以下代码添加到ModuleUpdater.UpdateDatabaseAfterUpdateSchema方法。

    using MySolution.Module.BusinessObjects;
    //...
    
    public class Updater : DevExpress.ExpressApp.Updating.ModuleUpdater {
        //...
            public override void UpdateDatabaseAfterUpdateSchema() {
            base.UpdateDatabaseAfterUpdateSchema();
    
            Contact contactMary = ObjectSpace.FindObject<Contact>(
                CriteriaOperator.Parse("FirstName == 'Mary' && LastName == 'Tellitson'"));
            if (contactMary == null) {
                contactMary = ObjectSpace.CreateObject<Contact>();
                contactMary.FirstName = "Mary";
                contactMary.LastName = "Tellitson";
                contactMary.Email = "tellitson@example.com";
                contactMary.Birthday = new DateTime(1980, 11, 27);
            }
            //...
            ObjectSpace.CommitChanges();
        }
    }
    

    添加上面的代码后,如果不存在Contact对象,则将在应用程序数据库中创建它。

    每次您运行该应用程序时,它都会将应用程序版本与数据库版本进行比较,并查找应用程序或数据库中的更改。如果数据库版本低于应用程序版本,则应用程序将引发XafApplication.DatabaseVersionMismatch事件。此事件由解决方案模板中的WinForms和ASP.NET应用程序处理。当应用程序以调试模式运行时,此事件处理程序将使用内置的数据库更新程序来更新应用程序的数据库。更新数据库架构后,将调用ModuleUpdater.UpdateDatabaseAfterUpdateSchema方法。通过这种方法,可以将所需的业务对象保存到数据库中。

    正如您在上面的代码中看到的那样,eXpressApp Framework(XAF)使用对象空间对象来操纵持久对象(请参阅创建,读取,更新和删除数据)。

    若要指定在BaseObjectSpace.FindObject方法调用中作为参数传递的条件,请使用CriteriaOperator。它的CriteriaOperator.Parse方法转换一个字符串,将一个条件表达式指定为其等效的CriteriaOperator。要了解有关如何指定标准的更多信息,请参阅“建立标准的方式”主题。

  • 运行WinForms或ASP.NET应用程序。在导航控件中选择联系人项。请注意,新联系人“ Mary Tellitson”出现在右侧列表中。

    Tutorial_BMD_Lesson2_5_1

您可以在MySolution.Module |中查看本教程的代码。数据库更新| 随XAF一起安装的Main Demo的Updater.csUpdater.vb)文件。该MainDemo应用程序安装在%PUBLIC%\文件\ DevExpress的演示19.2 \组件\ eXpressApp框架\ MainDemo默认。可从http://demos.devexpress.com/XAF/MainDemo/在线获得ASP.NET版本。

下一课: 实现自定义业务类和引用属性(XPO)

相关文章

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