crm2011创建Lookup类型的字段

在crm2011里面,创建lookup类型的字段不能直接创建,需要通过创建关系来创建,下面给出一个事例:

    using System;
    using Microsoft.Xrm.Sdk;
    using Microsoft.Xrm.Sdk.Messages;
    using Microsoft.Xrm.Sdk.Metadata;
    using Microsoft.Crm.Sdk.Messages;

    /// <summary>
    /// 创建Lookup字段
    /// </summary>
    public class CreateOneToManyHelper
    {
        public void Create(IOrganizationService service)
        {
            //构造Request对象
            CreateOneToManyRequest oneRequest = new CreateOneToManyRequest();
            
            //Lookup对象
            LookupAttributeMetadata lookup = new LookupAttributeMetadata();
            //字段名称
            lookup.LogicalName = "new_company";
            //架构名称
            lookup.SchemaName = "new_company";
            //显示中文名称
            lookup.DisplayName = new Label("公司", 2052);
            //描述
            lookup.Description = new Label("Lookup字段", 2052);
            //需求级别
            lookup.RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None);
            //字段安全性
            lookup.IsSecured = false;
            //审核
            lookup.IsAuditEnabled = new BooleanManagedProperty(false);

            oneRequest.Lookup = lookup;
            //关系
            OneToManyRelationshipMetadata shipMetadata = new OneToManyRelationshipMetadata();
            //关联实体
            shipMetadata.ReferencedEntity = "new_company";
            //关联实体的属性
            shipMetadata.ReferencedAttribute = "new_companyid";
            //主要实体
            shipMetadata.ReferencingEntity = "new_class";
            //关系名称
            shipMetadata.SchemaName = "new_class_new_company";
            shipMetadata.AssociatedMenuConfiguration = new AssociatedMenuConfiguration() {
                //显示选项
                Behavior = AssociatedMenuBehavior.UseLabel,
                //显示区域
                Group = AssociatedMenuGroup.Service,
                //自定义标签
                Label = new Label("关联公司",2052),
                //显示顺序
                Order = 10001
            };
            //关系行为
            shipMetadata.CascadeConfiguration = new CascadeConfiguration() {
                //分配,无级联
                Assign = CascadeType.NoCascade,
                //删除,移除链接
                Delete = CascadeType.RemoveLink,
                //合并,无级联
                Merge = CascadeType.NoCascade,
                //重定父,无级联
                Reparent = CascadeType.NoCascade,
                //共享,无级联
                Share = CascadeType.NoCascade,
                //取消共享,无级联
                Unshare = CascadeType.NoCascade
            };

            oneRequest.OneToManyRelationship = shipMetadata;
            
            CreateOneToManyResponse response = (CreateOneToManyResponse)service.Execute(oneRequest);
            System.Console.WriteLine("创建关系成功!"); 
            service.Execute(new PublishAllXmlRequest());
            System.Console.WriteLine("发布成功!");
        }
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值