首页 > 其他 > 详细

DevExpress Xaf入门——关于多对多关系的配置(DC模式)

时间:2014-03-01 00:09:57      阅读:737      评论:0      收藏:0      [点我收藏+]

1、在VS2012中通过新建XAF解决方案Solution2,并在Solution2.Web项目中的配置文件Web.config中配置连接字符串;

  <connectionStrings>
    <add name="EasyTestConnectionString" connectionString="Integrated Security=SSPI;Pooling=false;Data Source=.\SQLEXPRESS;Initial Catalog=Solution2EasyTest" />
    <add name="ConnectionString" connectionString="Data Source=GUANBAOPC\SQLEXPRESS;Initial Catalog=Solution2DB;Persist Security Info=true;User ID=sa;Password=123" />
  </connectionStrings>

 

2、在解决方案Solution2中对应的项目Solution1.Module的文件夹BusinessObjects中新建Xaf Domain Component对象Student、Course。

Student对象(接口)

bubuko.com,布布扣
using System;
using System.Linq;
using System.Text;
using System.ComponentModel;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.DC;
using DevExpress.Data.Filtering;
using DevExpress.Persistent.Base;
using System.Collections.Generic;
using DevExpress.ExpressApp.Model;
using DevExpress.Persistent.Validation;

namespace Solution2.Module.BusinessObjects
{
    [DomainComponent]
    [DefaultClassOptions]
    [XafDisplayName("学生")]
    public interface Student
    {
        [XafDisplayName("学生姓名")]
        string StudentName { get; set; }

        [XafDisplayName("学号")]
        string StudentCode { get; set; }

        [XafDisplayName("课程")]
        IList<Course> Courses { get; }
    }
}
bubuko.com,布布扣

 

Course对象(接口)

bubuko.com,布布扣
using System;
using System.Linq;
using System.Text;
using System.ComponentModel;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.DC;
using DevExpress.Data.Filtering;
using DevExpress.Persistent.Base;
using System.Collections.Generic;
using DevExpress.ExpressApp.Model;
using DevExpress.Persistent.Validation;

namespace Solution2.Module.BusinessObjects
{
    [DomainComponent]
    [DefaultClassOptions]
    [XafDisplayName("课程")]
    public interface Course
    {
        [XafDisplayName("课程名称")]
        string CourseName { get; set; }

        [XafDisplayName("课程编号")]
        string CourseCode { get; set; }

        [XafDisplayName("学生")]
        IList<Student> Students { get; }
    }
}
bubuko.com,布布扣

 

3、右键Solution2.Module中的Module.cs文件,点击查看代码,在打开的Module.cs文档中注册Student与Course对象。

bubuko.com,布布扣
using System;
using System.Text;
using System.Linq;
using DevExpress.ExpressApp;

using System.ComponentModel;
using DevExpress.ExpressApp.DC;
using System.Collections.Generic;
using DevExpress.Persistent.Base;
using DevExpress.ExpressApp.Model;
using DevExpress.ExpressApp.Actions;
using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Updating;
using DevExpress.ExpressApp.Model.Core;
using DevExpress.ExpressApp.Model.DomainLogics;
using DevExpress.ExpressApp.Model.NodeGenerators;
using Solution2.Module.BusinessObjects;

namespace Solution2.Module
{
    public sealed partial class Solution2Module : ModuleBase
    {
        public Solution2Module()
        {
            InitializeComponent();
        }
        public override IEnumerable<ModuleUpdater> GetModuleUpdaters(IObjectSpace objectSpace, Version versionFromDB)
        {
            ModuleUpdater updater = new DatabaseUpdate.Updater(objectSpace, versionFromDB);
            return new ModuleUpdater[] { updater };
        }
        public override void Setup(XafApplication application)
        {
            base.Setup(application);
            XafTypesInfo.Instance.RegisterEntity("Student", typeof(Student));
            XafTypesInfo.Instance.RegisterEntity("Course", typeof(Course));
        }
    }
}
bubuko.com,布布扣

4、将Solution2.Web设为启动项目,并使用调试模式运行解决方案。运行结果如下:

bubuko.com,布布扣

 

提示:

1、学生对象(Student)中课程属性(Course)不能设置set方法;

2、课程对象(Course)中学生属性(Student)不能设置set方法;

3、IList类型不能以List代替;

4、第一次运行解决方案会弹出错误提示,重新运行解决方案后学生与课程的多对多关系的界面就出来了;

5、必须将Solution2.Web设为启动项目。

DevExpress Xaf入门——关于多对多关系的配置(DC模式),布布扣,bubuko.com

DevExpress Xaf入门——关于多对多关系的配置(DC模式)

原文:http://www.cnblogs.com/xuguanbao/p/3573038.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!