XAF 如何使用复合主键和复合外键
http://community.devexpress.com/forums/p/60725/205569.aspx
http://www1.devexpress.com/Support/Center/p/B39252.aspx
代码:
public class Master : XPCustomObject
{
public Master(Session session)
: base(session)
{
// This constructor is used when an object is loaded from a persistent storage.
// Do not place any code here or place it only when the IsLoading property is false:
// if (!IsLoading){
// It is now OK to place your initialization code here.
// }
// or as an alternative, move your initialization code into the AfterConstruction method.
}
public override void AfterConstruction()
{
base.AfterConstruction();
// Place here your initialization code.
}
private string _MasterName;
public string MasterName
{
get
{
return _MasterName;
}
set
{
SetPropertyValue("MasterName", ref _MasterName, value);
}
}
[Association("Master-Details")]
public XPCollection<Detail> Details
{
get
{
return GetCollection<Detail>("Details");
}
}
private MasterPrimaryKey _Key;
[Key,Persistent,Browsable(false)]
public MasterPrimaryKey Key
{
get
{
return _Key;
}
set
{
SetPropertyValue("Key", ref _Key, value);
}
}
[NonPersistent]
public string Key1
{
get { return Key.Key1; }
set
{
_Key.Key1 = value;
}
}
[NonPersistent]
public string Key2
{
get { return Key.Key2; }
set
{
_Key.Key2 = value;
}
}
}
public struct MasterPrimaryKey
{
[Persistent]
public string Key1;
[Persistent]
public string Key2;
}
public class Detail : XPCustomObject
{
public Detail(Session session)
: base(session)
{
// This constructor is used when an object is loaded from a persistent storage.
// Do not place any code here or place it only when the IsLoading property is false:
// if (!IsLoading){
// It is now OK to place your initialization code here.
// }
// or as an alternative, move your initialization code into the AfterConstruction method.
}
public override void AfterConstruction()
{
base.AfterConstruction();
// Place here your initialization code.
}
private int _ID;
[Key(AutoGenerate = true)]
public int ID
{
get
{
return _ID;
}
set
{
SetPropertyValue("ID", ref _ID, value);
}
}
private string _DetailName;
public string DetailName
{
get
{
return _DetailName;
}
set
{
SetPropertyValue("DetailName", ref _DetailName, value);
}
}
private Master _Master;
[Association("Master-Details")]
public Master Master
{
get
{
return _Master;
}
set
{
SetPropertyValue("Master", ref _Master, value);
}
}
}
欢迎转载,转载请注明出处:http://www.cnblogs.com/Tonyyang/
转载于:https://www.cnblogs.com/Tonyyang/archive/2010/12/21/1912757.html
XAF 如何使用复合主键和复合外键相关推荐
- day 06 非空约束、唯一约束、主键约束、外键约束
由于sql语句不区分大小写,为了书写方便,本文所有命令统一使用小写 往期内容 day 01 初识Mysql以及DDL数据定义语言 day 02 DML数据操作语言 day 03 D ...
- [JavaWeb-MySQL]约束(非空约束,唯一约束,主键约束,外键约束_级联操作)
约束 * 概念: 对表中的数据进行限定,保证数据的正确性.有效性和完整性. * 分类:1. 主键约束:primary key2. 非空约束:not null3. 唯一约束:unique4. 外键约束: ...
- SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束
什么是约束? 数据库-由若干张数据表组成(理解为一个类库) 数据表-由行和列组成的一个二维数组(理解为一个类) 列-字段(理解为表中对象的一个属性) 行-理解为表中的一个对象 约束是数据库中保证数据完 ...
- mysql 主外键 策略_mysql外键策略
1.外键 建表时添加外键:constraint 外键名 foreign key 从表字段 references 主表字段 级联操作 create table dage( create table xi ...
- 数据库的主键表和外键表
想写这个是因为自己刚好在尝试建一个数据库,而数据库的各个表之间的关系不是很清楚,没有形成一个整体的关系,所以就尝试着将数据库形成一个整理的关系表,我 敢说很多跟我一样的同学原来做课程设计,肯定就是随便 ...
- mysql外键教程_MySQL外键使用详解
最近有开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护表间的关联··研究了一下MySQL的外键 . (1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支 ...
- ef mysql 外键 一对一_MySQL 外键 一对一 一对多 多对多 复制
#外键 ## 1,学习外键首先要明白表与表之间的关系 首先要换位思考 在考虑了这边 还要考虑另一边 然后在下定论### 判断表关系的语法 #### 图书与出版社 一本书可不可以有多个出版社 ...
- oracle 外键子查询,外键、联合查询、子查询
1.外键: 增加外键 创建表的时候增加外键:在所有的表字段之后,使用foreign key(外键字段) references 外部表(主键字段) 在新增表之后增加外键:修改表结构,使用alter ta ...
- mysql外键查询_MySQL外键使用详解
最近有开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护表间的关联··研究了一下MySQL的外键. (1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支持 ...
- mysql外键名_MySQL外键(foreign key)使用及说明详解
外键也称之为外键约束: foreign key 外键: 外面的键, 一张表的一个字段(非主键)指向另外一个表的主键, 那么该字段就称之为外键. 外键所在的表称之为子表(附表); 外键所指向的主键所在的 ...
最新文章
- 比利牛斯獒犬 flask web
- linux网络编程一:主机字节序与网络字节序的的判断
- Python:win32com 模块
- 笔记-项目质量管理-质量保证和质量控制
- 嵌入式中断服务函数的一些特点
- Docker 多机网络
- qint64转为qstring qt_Qt中Qstring,char,int,QByteArray之间到转换
- java sax解析xml_在Java中使用DOM,SAX和StAX解析器解析XML
- arima模型_[不说人话系列]-ARIMA模型
- java类的加载顺序题目_Java 类的加载顺序(题)
- android设备如何苹果,Android安卓设备如何连接Mac的方法
- 判断wifi连接是否可用
- iOS线程之——NSCondition
- Amazon 新手要知道 100 个问题
- 10年后的GOOGLE会怎么样
- mac更改launchpad图标大小
- word中将英文及数字全部修改为Times New Roman字体
- 仙境传说 RO手游 自动技能 定时加状态脚本
- python selenium下载电子书
- 3. Caller 服务调用 - dapr
热门文章
- 浅析 Python 的类、继承和多态
- Microsoft 帐户异常登录活动,QQ邮箱代收hotmail邮件不成功
- VB.NET中图像处理的一些技巧以及其和C#图像处理的差距。
- 差分进化算法原理及matlab代码实现
- 7-26 单词长度 (15 分)
- 泛微oa主表赋值明细表_Java学习第89天--OA系统
- c语言交换两个变量的值 讲课,用C语言的泛型实现交换两个变量值
- 下三角矩阵的逆矩阵_上三角或下三角矩阵的逆矩阵能否简便方法求出??只有主副对角线不为0的矩阵能否直接写出逆矩阵。...
- keil5调试如何选择晶振_有源晶振的负载电容重要吗?
- jar包和war包差别