MS CRM 2011中的实体(一) ——概述
什么是实体
MS CRM借用了Xml规范中的术语,以命名其系统中的包含的各项内容。这其中,最重要的,非实体莫属了。实体,英文叫做Entity,可以类比于面向对象中的类,数据库中的数据表。实体中包含有属性Attribute,可以类比于面向对象中的属性Property,数据库中的数据列。实体中包含有关系Relationship,可以类比于面向对象中的关联、数据库中的外键。实体记录record,类比于面向对象中的对象,数据库中的一行数据记录。实体中包含有多个属性,多个关系。在实际系统使用中,一个实体会有多条实例记录。
实体间的关系Relationship
在实体之间可以存在的关系有1:N、N:1、N:M以及自引用四种。1:N也叫做1对多关系,N:1也叫做多对1关系,N:M也叫做多对多关系。其中1:N和N:1两种关系是相对而言的,也就是说A实体对B实体是1:N,那么从B实体角度,就是B实体对A实体是N:1关系。而N:M关系以及自引用关系,系统会为之建立一个中间实体Intersect Entity,将N:M的复杂关系简化为两个1:N两种关系。
在1:N以及N:1两种关系中,1所指向的实体被称为主实体或者引用实体,N所指向的实体被称为子实体或被引用实体。某些操作会根据关系行为的设定,当主实体完成某些操作时,按照设定,将会在子实体上完成某些操作行为,从而完成级联操作cascading operation。关于这部分的内容,稍后专门写文章说明吧。
实体所有权 Entity Ownership
CRM2011系统中,大部分实体的所有者,或者是组织、或者是用户、或者是团队。不过有一些实体是没有所有者的,而有其父实体的所有者属性而确定。例如,商机产品实体,其实例就要根据所对应的商机记录的所有者属性而确定当前商机产品记录的所有者。下面是常见的实体所有权及其描述。
名称 |
描述 |
组织级 |
对整个组织可见的数据,或者是组织所拥有的数据 |
业务级 |
按照组织结构,按照部门划分、每个部门各自拥有的数据 |
用户/团队级 |
个人用户或者团队所拥有或者负责的数据 |
无 |
不由其他实体负责 |
CRM 2011中的实体
CRM 2011系统中,提供了一组实体,这是一组开包即用的实体,也就是说,安装完CRM2011后,我们即可使用这些实体完成一些基本的功能,包括有系统管理、业务管理等等。
当然,根据具体业务应用,我们可以借助系统的“自定义”功能,创建我们自己的自定义实体。
总之,CRM2011中的实体可以分为三大类:系统实体,业务实体以及自定义实体:
l 系统实体:为系统所使用,以便系统管理其内部的一些流程、业务的处理,例如工作流相关的实体、异步工作相关的实体,用户无法对这类实体执行删除操作,也无法自定义这些实体;
l 业务实体:业务实体作为安装包的一部分,将会安装于CRM2011系统中,例如客户实体account、联系人实体contact等等;
l 自定义实体:当默认安装不能满足业务需要时,可能需要我们创建自定义实体,以便满足实际应用的要求。
在解决方案solution中,可以设定业务实体、自定义实体是否可以被自定义。