Dynamics CRM实体系列之1:N、N:1以及N:N关系
Dynamics CRM在实施过程中会遇到很多多个实体关联的问题,这样可以实现多个实体的记录通过关联的字段实现数据的综合展示,在Sql Server里面叫做外键,在Dynamics CRM叫做关系。Dynamics CRM有三种实体间的关系。分别是1:N,N:1以及N:N
1:N关系
顾名思义1:N关系就是一对多关系,也可以理解为主从表关系。在CRM建立方式就是在子表建立一个与主表关联的外键字段,这个字段就是一个关联了主实体的LookUp的字段。建立好之后就完成了1:N关系的建立。
1:N关系的应用场景
1:N关系的应用场景一版有以下几种,主从表、字段映射、字段的限制
主从表关系前面窗体有讲到过,可以通过建立1:N关系配置主子表的数据关联以及数据展示的功能。
字段映射的功能是一个很方便实用的功能,使用字段映射我们可以在创建子实体记录的时候通过选择主实体关联的记录,将主实体记录的其他字段映射到子表对应的字段,可以节省我们通过JS或者Plugin用代码赋值的时间。具体配置方式如下:
选择需要配置映射的关系,这里以商机-订单为例:

双击进去后,点击左边导航栏的映射进入到映射字段配置列表:

选择对应的两个需要映射的字段,左边是主实体的数据源字段右边是子实体接收主实体数据的字段,设置好后点击确定一个字段的映射就建立完成了。以后我们选择了主实体的记录后如果主实体的映射字段有值的话会相应的带入到子实体的映射字段里。

字段的限制

可以设置查找字段的必填等级、备注
设置子网格的关联视图,可以自定义显示标签名称。同时可以关联视图设置到需要显示的区域
关联行为可以设置:分派、共享、删除、取消共享的级联。比如分派了该主记录,如果配置了则会按照配置规则进行子记录的分派。
级联类型:分派、重定父级、共享、合并、取消共享的级联类型都一样:全部级联:只要做了对应的操作就会作用到对应的子键。可用项的级联:做了对应的操作后会对可用的记录进行级联。用户负责项的级联:做了对应操作后对自己权限范围内可操作部分的记录进行相应的级联。

删除级联类型:全部级联:删除主记录,所有关联子记录全部删除。移除连接:删除主记录,删除对应子记录引用自己的字段部分的数据。限制:删除主数据,如果有子数据则不允许删除。

N:1关系
N:1关系与1:N关系区别不大
下面是其中一个区别,N:1关系可以配置展示视图关联实体的字段
视图展示关联信息则可以在视图配置页将关联的子表字段添加到视图列达到一个列表展示主子数据关系的目的。
配置方式如下:
以商机产品实体为例,打开视图编辑界面,添加列可以选择到对应N:1关系的商机实体,之后可以将商机实体的字段添加到视图。

N:N关系
N:N关系是多对多的实体关系,它可以让两个实体各自的记录都可以对应多个关联实体的记录,另外关联实体的记录也可以重复关联自己的记录。
建立方式在后台实体N:N关系里面添加一条N:N关系的记录

选择需要与商机建立N:N关系的实体,填写关系名称以及关联实体名称(有重复性校验),就可以创建成功N:N的关系了。
完成后系统会自动创建一个以关系实体名称命名的关系实体,我们以后添加的N:N关系的信息就会保存在这个实体中。
如果需要用代码进行关系建立的话,可以使用Associate方法,详细可以搜索我的文章中相关的介绍。
关系的内容已经讲解完了。
接下来会讲解一业务规则的一些内容,敬请期待!
Dynamics CRM实体系列之1:N、N:1以及N:N关系的更多相关文章
- Dynamics CRM实体系列之键
这一节开始讲一下Dynamics CRM实体的键.键的作用个我们平时创建Primary Key的概念差不多.保证数据的唯一性. 键的设置在后台实体导航下面的键选项 点击新建创建一个键,会弹出一个窗口进 ...
- Dynamics CRM实体系列之窗体
本节开始讲Dynamics CRM的窗体排版和设计,窗体也就是我们实际可以看到的表单界面.Dynamics CRM提供了一套独立的表单模板设计引擎,可以很方便的为开发者提供无代码开发,只需要简单的拖动 ...
- Dynamics CRM实体系列之字段
本节开始讲实体中的基础数据存储对象,也就是字段. Dynamics CRM目前总共有13种字段类型,分别为单行文本.选项集.多选选项集.两个选项.图像.整数.浮点数.十进制数.货币.多行文本.日期和时 ...
- Dynamics CRM实体系列之视图
这一节开始讲视图.视图在Dynamics CRM中代表着实体的数据展示列表,通过这个列表可以对数据进行一个初步预览,也可以进行一些数据的定向筛选和搜索进行精确的浏览一部分数据.同时视图也是查看详细实体 ...
- Dynamics CRM实体系列之图表
本节开始讲解Dynamics CRM的图表功能.任何产品基本上都会有数据分析的工具,Dynamics CRM当然也不例外,作为一个专门做销售管理的软件数据分析自然也是对于销售管理者的决策有很大的作用的 ...
- 在标准实体特殊消息上注册插件及Dynamics CRM 2015中计算字段的使用
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复157或者20151005可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 前面的 插件系列博客教程 讲述了 ...
- Microsoft Dynamics CRM 2013 --针对特定实体,取消保存功能(包含自动保存)
AutoSave 是 Microsoft Dynamics CRM 2013 一个新特性. 但AutoSave的有效范围是[所有实体],不允许针对特定某一实体进行设置. 所以,若想针对特定实体进行设置 ...
- Dynamics CRM 2011编程系列(60):JS编程之CRUD辅助类(JQuery版)
今天给大家分享一个JQuery版的REST辅助类,在一年前我分享过一个只能在IE环境下运行的REST辅助类:<JS编程之实体CRUD辅助类 >.为什么要推出JQuery版的CRUD辅助类呢 ...
- Dynamics CRM 2015 Update 1 系列(4): 自己定义主键 - Alternate Keys
Alternate Keys. 还是和系统集成相关的一个重量级Feature.使用该Feature能极大的提高开发数据集成接口的时间成本以及接口的执行效率. 在之前的Dynamics CRM 版本号中 ...
随机推荐
- 【贪心+排序】排队接水 luogu-1223
题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小. 分析 注意要开longlong AC代码 #include &l ...
- 第十四篇 -- QMainWindow与QAction(清空-全选-撤销-重做-关闭-语言选择)
效果图: 这次添加了关闭-撤销-重做-全选-清空等功能,并添加了字体和字体大小选择.基本方法跟前面几篇类似. ui_mainWindow.py # -*- coding: utf-8 -*- # Fo ...
- Python基础之读取ini文件
基本使用方法 第一步:准备一份INI文件.如test1.ini [ITEMS] item1=1 item2=2 item3=3 item4=4 [ITEM1] test1=aaa [ITEM2] te ...
- 基于BIT数组实现全局功能开关
前提 某一天巧合打开了sofa-bolt项目,查找部分源码,看到了项目中使用bit数组实现功能开关的特性,感觉这种方式可以借鉴,于是写下这篇文章. 原理 bit数组的布局如下: 由于每个bit都可以表 ...
- intouch/ifix嵌入视频控件2(报警视频联动初步思路)
在项目中有朋友遇到类似的需求,ifix中嵌入视频,并实现报警与视频的联动功能.诸如,重要设备启动时,摄像头自动弹窗,并持续一段时间自动弹窗关掉:设备故障时,摄像头自动截图,录像一段时间存储:设备停止时 ...
- U 跳转中加入变量参数的写法
href="{:U('Message/news?id='.$vo['messageid'].'')}" 就是在U方法里如果参数是变量就用 '.$i.'代替 {$i} <a h ...
- Jenkins插件安装失败
插件安装失败 通常要下载国外的软件插件之类的时候,链接到国外会太慢或者被墙,这就需要我们去换镜像源 修改配置文件 我们在jenkins里更改升级站点的url后 若安装插件时还是一直卡在"安装 ...
- 如何高效、快速学习Flutter?如何避坑?(文末送服福利)
稳住,今天是周末,不过我今天要上班....啊..啊... 对于 Flutter 我没有太多的发言权,不过GSY是对 Flutter 充分理解并精深掌握的前辈了,所以转一篇他对 Flutter 的一些解 ...
- 利用system generator 生成vivado ip—以低通滤波器举例
前段时间自学了matlab和vivado联合推出的system generator工具,用来做数字信号处理,十分好用且使开发更便捷,下面举个例子来供大家一起学习下. 首先打开matlab命令行,输入s ...
- 深入理解jvm-2Edition-类文件结构
概述: 规范而独立的类文件结构以及只与类文件关联的虚拟机为Java实现了平台无关性,甚至还带来了一些语言无关性. 只要将源代码编译为Class文件规定的格式,JVM就可以执行. JVM的指令描述能力比 ...