XAF应用开发教程(一) 创建项目
XAF是DevExpress公司的快速开发框架,全称eXpress Application Framework,是企业信息系统的开发利器,快速开发效果显著,在.net框架中,笔者至今没有找到一款可以与之比较的产品。下面以应用为中心,讲述如何应用XAF。
下载与安装,如果你已经安装好了sqlserver和visual studio,请至http://www.devexpress.com 下载试用版,安装完成后即可体验。
我使用的是vs2015+sqlserver 2014(与vs内置一起的)。
一、XAF有哪些优点呢?
1,Web项目(b/s)
2,win项目(c/s)
3,平板电脑(beta)
4,移动端(beta)
上述4种项目一次编码,同时生成。其中web/win是两个项目,3,4都是web项目,只是使用了不同的适应界面可以在移动设备和平板电脑上进行浏览操作等。
二、14种数据库支持
可以支持所有常见数据库,如Oracle,MySQL,SqlServer,Access,DB2等等 ,切换数据库无需修改编码。
三、内置模块丰富,涉及到开发中的方方面面,如权限系统、报表系统、数据分析、图表、验证模块、外观模块,等等 。
下面演示一个简单CRM系统中的部分内容。
四、新建项目:
打开VS后,依次选择 文件->新建->项目 后,出现如下画面,展开Visual C#->DevExpress XAF->DevExpress v15.1 XAF Solution Wizard.

在名称中输入一个自己取的项目名称,我输入的是XCRMDemo.并按确定。
出现如下画面:

这里是在询问我们,要创建windows项目还是web项目,通常我会都选中,默认的只有windows选中。点击next.
接下来会出现如下画面,是在询问我们要使用哪种ORM,用过Entity Framework的同学应该会感觉很熟悉有EF 的CodeFirst和ModelFirst可选。
我使用的是XPO,最后一项,为了学习XAF请选择最后一个,后面熟悉了,再用EF也是一样的。

然后出现的是权限模块相关的内容,第一个radio box组选择第二项。Standard(requests login and password)这一项是指开发好的程序需要用到用户名和密码进行登陆。
Active Directory(users windows account)这一项是和域身份绑定的,我一般不用这个。
Database Security选择第一项,Client-Side Security-UI-LevelMode。后面几项以后介绍。
当然,如果这里一开始做项目时没有选对,以后也是有机会可以修改的。

然后会出现选择需要用到的模块的选项。

本项目中只为演示,所以仅选择几个模块:



然后按Finish按钮,项目就开始创建了。
项目创建完成后,我们可以直接按下F5看看XAF为我们创建了什么样的东西出来。

这时会出现这个登陆框,用户名输入 admin,没有密码,按下log on按钮。

可以看到有导航菜单,工具菜单,还有MyDetail的详细界面,当然,你可以点点看看,体会一下:D
好,接下来再看看自动创建web项目是什么样子的:

在解决方案资源管理器中,选中XCRMDEMO.Web,右键,找到“设为起动项目”,然后按下F5.出现如下界面:

同样的,用户名为admin,没有密码。按下logon按钮。进入系统。

好,创建项目完成了。下面我们来看看数据库情况:
1.数据库在哪里呢?
1.1web,找到XCRMDemo.Web中的web.config文件,可以看到如下配置节:
<connectionStrings>
<add name="EasyTestConnectionString" connectionString="Integrated Security=SSPI;Pooling=false;Data Source=(localdb)\mssqllocaldb;Initial Catalog=XCRMDemoEasyTest" />
<add name="ConnectionString" connectionString="Integrated Security=SSPI;Pooling=false;Data Source=(localdb)\mssqllocaldb;Initial Catalog=XCRMDemo" />
<!--
Use the following connection string to connect to a Jet (Microsoft Access) database that is already created and located in the <application root>/app_data folder.
<add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=|DataDirectory|\XCRMDemo.mdb;Mode=Share Deny None;"/>
If the database doesn't exist, it won't be created until you replace the |DataDirectory| substitution string with the fully qualified path to the database. For instance:
<add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=C:\myDataFolder\XCRMDemo.mdb;Mode=Share Deny None;"/>
-->
</connectionStrings>
其中,ConnectionString是
Integrated Security=SSPI;Pooling=false;Data Source=(localdb)\mssqllocaldb;Initial Catalog=XCRMDemo 1.2win,找到XCRMDEMO.Win中的App.Config文件,同样会有上面的文字。
看看数据库:

可以看到,XAF程序自动为我们创建了数据库,不用纠结这些表是干什么的,慢慢的就明白了:D 下一节介绍简单的开发。 文章示例项目源码下载
QQ 4603528 QQ群:336090194
XAF应用开发教程(一) 创建项目的更多相关文章
- iOS 9应用开发教程之创建iOS 9项目与模拟器介绍
iOS 9应用开发教程之创建iOS 9项目与模拟器介绍 编写第一个iOS 9应用 本节将以一个iOS 9应用程序为例,为开发者讲解如何使用Xcode 7.0去创建项目,以及iOS模拟器的一些功能.编辑 ...
- (转)Ratchet教程:创建项目
原文:http://www.w3cplus.com/mobile/how-to-create-mobile-project-width-ratchet.html Ratchet教程:创建项目 ...
- MVC5 网站开发之二 创建项目
昨天对项目的思路大致理了一下,今天先把解决方案建立起来.整个解决包含Ninesky.Web.Ninesky.Core,Ninesky.DataLibrary等3个项目.Ninesky.Web是web应 ...
- 从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板
标题:从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/11155 ...
- node+vue进阶【课程学习系统项目实战详细讲解】打通前后端全栈开发(1):创建项目,完成登录功能
第一章 建议学习时间8小时·分两次学习 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地 ...
- XAF应用开发教程(七)外观控制模块
很多时候,我们需要按照不同的条件显示不同的效果,在传统的软件开发中,我们会直接使用 控件名称.BackColor,Enable,Visible等属性进行控制. 如果一个业务对象在多处使用,要么我们会去 ...
- App开发流程之创建项目和工程基本配置
我的开发环境为:Mac OS X EI Capitan(10.11.6),Xcode 7.3.1 首先说明一下这个项目的初衷,我并非要创建一个完整的上架应用,旨在创建一个可运行的,通用配置.架构,提供 ...
- XAF应用开发教程(六)控制器
是的,XAF也是MVC结构的,但不仅限于MVC,ViewModel也存在,它是一项复合技术,AOP,ORM,MVC都有. 真实运行的系统中,仅有增删改查功能肯定是远远不够的,ERP.CRM等系统的开发 ...
- XAF应用开发教程(四)应用程序模型
XAF是重量型框架,确实够重量的,方方面面都做得规规矩矩. 如果看了前面三节,可能会认为,这N多的Attribute到底都是从哪里来的?到底有多少这样的Attribute?如果不够用了怎么办?等着官方 ...
随机推荐
- init_MUTEX 与 sema_init 函数【转】
转自:http://blog.chinaunix.net/uid-7332782-id-3211627.html 在编译Linux设备驱动程序学习(1)-字符设备驱动程序中scull.c程序时,报错: ...
- MySQL数据很大的时候
众所周知,mysql在数据量很大的时候查询的效率是很低的,因为假如你需要 OFFSET 100000 LIMIT 5 这样的数据,数据库就需要跳过前100000条数据,才能返回给你你需要的5条数据.由 ...
- Lucas定理模板
用于大组合数对p取模的计算. #include <cstdio> #include <iostream> #include <cmath> #include < ...
- python day5--正则表达式
#----正则表达式 import re elink = '<a href="(.*)">(.*)</a>' info = '<a href=&quo ...
- http://www.bejson.com/go.html?u=http://www.bejson.com/demo2.html
json 解析工具http://www.bejson.com/go.html?u=http://www.bejson.com/demo2.html
- c#之双色球
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- String框架搭建的基本步骤,及从 IOC & DI 容器中获取 Bean(spring框架bean的配置)--有实现数据库连接池的链接
Spring框架的插件springsource-tool-suite-3.4.0.RELEASE-e4.3.1-updatesite(是一个压缩包)导入步骤: eclipse->help-> ...
- (POJ2635)The Embarrassed Cryptographer(大数取模)
The Embarrassed Cryptographer Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 13041 Accep ...
- 翻译之basename()
NAME top basename, dirname - parse pathname components SYNOPSIS top #include <libgen.h> char * ...
- 2016年10月15日 星期六 --出埃及记 Exodus 18:26
2016年10月15日 星期六 --出埃及记 Exodus 18:26 They served as judges for the people at all times. The difficult ...