[Aggregated]

没有参数,作用于a property or a field,并且只能是持久类的引用或者XPCollection.实现两个持久类的级联删除的功能。

[Association("PersonAddresses", typeof (Address))]

作用于a property or a field

实现两个持久类的级联关系

参数:1、关联的名称;2、关联的持久类类型(但引用指明持久类型时,可以省略)

 [MapTo("T_Person")]

作用于持久类或a property or a field

作用于持久类时:指定持久类映射的表名称。如果没有指定,默认的表名就是类名。

作用于property或field时:表的列名称。

参数是表名或列名,是区分大小写的。

[Persistent("CreatedOn")] 

强制映射字段

作用于a property or a field

XPO一般只对持久类中的可写property和public field进行持久化操作。因此对只读的field可以加上该特性进行强制持久化。

参数:表名(可选)

[NonPersistent]

作用于a class, property or a field

指明不对类或property,field进行持久化操作。

参数无。

[DbType]

指定列创建时使用的数据类型。

参数:字符串的数据类型表示。

[MapInheritance(MapInheritanceType.OwnTable)]

作用于持久类。

两个持久类是继承关系时,持久信息的存储方式。参数:

MapInheritanceType.OwnTable :各自独立的表,分别存储独有部分。

MapInheritanceType.ParentTable :都在父表存储。

[Delayed("document")]

只能作用于Property。

延迟数据装载,当持久类构造时并不装载数据,只是property首次被访问时才装载。

和类XPDelayedProperty结合使用才能实现延迟装载的功能。

参数:引用的XPDelayedProperty 类型field 名称。

[Size(SizeAttribute.Unlimited)] 

数据长度

作用范围a property or a field。

指定映射的表字段长度。只是当创建字段时才体现。当字段已经存在,XPO此时不会检查该值。

参数:数值的长度或者SizeAttribute.Unlimited(不限制长度)

可以不指定。如果是string,默认是100。

[Key ] ,[Key(true)],[Key(AutoGenerate = true)] 

作用于a property or a field。

指定主键。每个持久类都需要一个指定为key的propery or field。XPObject和XPBaseObject的一个明显差别就是XPObject已有一个OId主键

参数:bool型(可选)。是否由XPO自动生成键值(Int或GUID)。默认是false。

[Indexed(Unique = true)] // 无重复索引. "[Indexed]" 有重复索引。

作用于a property or a field。

指定索引。默认情况下改索引是非唯一索引。

没有构造参数。但可以通过set来设置为唯一索引[Indexed(Unique=true)]

 [OptimisticLocking(false)] 

作用于持久类.是否乐观锁定。如果锁定,修改后提交时,XPO会检查原始数据是否已经被改变,而不是who lastest who win。XPO在持久类映射的表类加一个系统字段“OptimisticLockField”,显然是用来标记状态的。因此如果是映射到视图时,要显式设置为不锁定。

参数:bool值(可选,默认是true)

[ValueConverter(typeof(实现转换接口(抽象类ValueConverter)的类))] 

作用于property。

值和类型转换,挺有意思的一个功能。从数据库提取值和保存值都可以作一个转换工作。

[NullValue("")]

作用于简单数据类型的a property or field。

指定对应库中值为null时,持久类中对应的数据。反之也是。

参数:根据不同的数据类型,引入不同的参数。看例子比较方便:

public class Example : XPObject {
[NullValue(Int32.MinValue)]
public int NullOnMinValueFieldInt;
[NullValue()]
public int NullOnZeroFieldInt;
         [NullValue("")]
public string NullOnEmptyStringFieldString;
         [NullValue("NULL")]
public string NullOnNULLFieldString;
}
[ExplicitLoading]
[MemberDesignTimeVisibility]

XAF对Attribute的总结的更多相关文章

  1. XAF应用开发教程-内置Attribute功能列表

    在 XAF 框架,一些用来生成一个业务应用程序的信息是在Attribute中指定.您可以将属性应用到业务类 (或它的成员) 指定验证规则,指定如何对数据进行显示. 设置关系类等.本主题提供了有关在何处 ...

  2. XAF视频教程来啦,已出7课

        XAF交流学习群内的兄弟录制了视频,他没有博客,委拖我发至博客园,希望能让更多的开发人员受益.快速开发企业级应用的好工具!   XAF入门01快速浏览   XAF入门02特点. XAF入门03 ...

  3. XAF视频教程来啦,已出15课

    第一到第七课在这里: http://www.cnblogs.com/foreachlife/p/xafvideo_1_6.html 视频地址:http://i.youku.com/i/UMTI5OTE ...

  4. XAF:如何让用户在运行时个性化界面并将个性化信息保存到数据库中 win/web/entityframework/xpo

    本主题介绍如何启用管理模型差异(XAFML),并将设置存储在数据库中.   名词解释: 1.模型:XAF中把所有应用程序的结构都用模型来定义,比如列表,有哪些列,名称是什么,对应的字段名是什么,业务对 ...

  5. [XAF] How to improve the application's performance

    [自己的解决方案]数据量大时,可显著提升用户使用体验! 1.Root ListView 参考官方的E1554 点击导航菜单后首先跳出查询条件设置窗体进行设置 可设置查询方案或查询方案的查询条件,排序字 ...

  6. XAF学习资源整合大全

    近期有很多XAF初学者与我联系,我多数时间在重复很多入门问题,所以决定整理一篇XAF资源列表,方便大家查找资料,也请知晓其他资源的人留言或与我联系,我将新资源追加到本篇文章中,方便更多人. 一.本博客 ...

  7. XAF Excel数据导入模块使用说明与源码

    我实现了XAF项目中Excel数据的导入,使用Devexpress 新出的spreadsheet控件,可能也不新了吧:D 好,先看一下效果图:下图是Web版本的. 下面是win版: 功能说明: 支持从 ...

  8. XAF应用开发教程(七)外观控制模块

    很多时候,我们需要按照不同的条件显示不同的效果,在传统的软件开发中,我们会直接使用 控件名称.BackColor,Enable,Visible等属性进行控制. 如果一个业务对象在多处使用,要么我们会去 ...

  9. 是时候改变你的开发方式了-XAF信息系统快速框架介绍

    我是一名.Net开发者,从DOS时代Turbo c 算起(1996年),马上满20年了.想想写过的代码真是不少,却做了很多重复反复的编码工作.当然中间也带过团队做过几个大项目,但是代码仍没写够,还是每 ...

随机推荐

  1. HTTP直接请求webService

    在实际开发中,会遇到各种各样的webService接口,并且对方提供的接口并不规范,一些客户端反而就不好使了,如cxf(客户端与动态调用)等,直接用java提供的api比较繁琐,这时直接用http r ...

  2. 【原】Coursera—Andrew Ng斯坦福机器学习(0)——课程地址和软件下载

    斯坦福大学机器学习 课程信息 机器学习是一门研究在非特定编程条件下让计算机采取行动的学科.最近二十年,机器学习为我们带来了自动驾驶汽车.实用的语音识别.高效的网络搜索,让我们对人类基因的解读能力大大提 ...

  3. windows 共存多个位数不同的jdk时,eclipse的报错对应措施

    1. 判断当前jdk的位数 # java -version java version "1.6.0_26" Java(TM) SE Runtime Environment (bui ...

  4. 配置环境是程序员的第一步 -- Xshell 6 免费版下载安装

    Xshell 是一个强大的安全终端模拟软件,通常用来连接云主机,远程控制云主机. 很多人都不知道 Xshell 有专门为家庭和学校用户提供的免费版,只需要填个用户名和邮箱即可. 免费版链接:https ...

  5. 关于 pycharm 安装第三方模块的一些经验

    解决pycharm问题:module 'pip' has no attribute 'main' 更新pip之后,Pycharm安装package出现报错:module 'pip' has no at ...

  6. Android 创建项目出现No resource found that matches the given name Theme.AppCompat.Light

    关于为何出现No resource found that matches the given name ‘Theme.AppCompat.Light’的原因 这边博客已经写的很清楚了 大家可以参考一下 ...

  7. SQL 数据库 学习 002 如何启动 SQL Server 软件

    如何启动 SQL Server 软件 我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果你还没有下载 SQL Serv ...

  8. float在内存中的存取方法

    今天做了一些题目,想到float数据如何在内存中的形式.不知道一个浮点数是如何存成32位01字符串的.下面是查找的一些资料. 我们先通过java获取这些数的二进制表示. public class De ...

  9. POJ2513 Colored Sticks(Trie+欧拉回路)

    Description You are given a bunch of wooden sticks. Each endpoint of each stick is colored with some ...

  10. window7 下配置python2.7+tornado3.3开发环境

    玩python的人大都在linux下进行开发,由于长期习惯在windows下开发代码,今天蛋疼尝试在window7下配置python2.7+tornado3.3开发环境,必然的中间遇到各种报错,但是最 ...