C# 如何使用刚创建的用户记录的id设置查找字段?

C# 如何使用刚创建的用户记录的id设置查找字段?,c#,dynamics-crm,dynamics-crm-2011,entity-relationship,C#,Dynamics Crm,Dynamics Crm 2011,Entity Relationship,我收到错误-没有提供服务,有经验的人请帮助我 var clinic = new new_clinic(); clinic.new_name = "Medinet"; Account trust = new Account(); trust.Name = "bIRMINGHAM CITY hOSPITAL"; Guid trustID = (Guid)Service().Create(trus

我收到
错误-没有提供服务
,有经验的人请帮助我

    var clinic = new new_clinic();
            clinic.new_name = "Medinet";

            Account trust = new Account();
            trust.Name = "bIRMINGHAM CITY hOSPITAL";
            Guid trustID = (Guid)Service().Create(trust);

            CrmEntityReference clinic_trust = new CrmEntityReference(trust.LogicalName, trustID);
            clinic.new_Trust = clinic_trust;
            clinic.new_ClinicDate = DateTime.Now;

            new_hospital hospital = new new_hospital();
            hospital.new_name = "Geek-guru";
            Service().Create(hospital);
            Guid hospitalID = (Guid)hospital.Id;
            clinic.new_HostingHospital = new CrmEntityReference(hospital.LogicalName, hospitalID);

            clinic.new_ClinicDate = new DateTime(2018, 07, 28);

            new_serviceprovision ser_contract = new new_serviceprovision();
            ser_contract.new_Trust = clinic_trust;
            ser_contract.new_Specialty = new OptionSetValue(100000018);
            Service().Create(ser_contract);
            Guid ser_con_id = (Guid)ser_contract.Id;
            clinic.new_ServiceContract = new CrmEntityReference(ser_contract.LogicalName, ser_con_id);

            // Account account =  (Account)GetOrgService().Retrieve(trust.LogicalName, trustID, new Microsoft.Xrm.Sdk.Query.ColumnSet("name"));

            //retreive the default business unit needed to create the user
            QueryExpression businessUnitQuery = new QueryExpression
            {
                EntityName = BusinessUnit.EntityLogicalName,
                ColumnSet = new ColumnSet("businessunitid"),
                Criteria = { Conditions = { new ConditionExpression("parentbusinessunitid", ConditionOperator.Null) } }
            };

            BusinessUnit businessUnit = Service().RetrieveMultiple(businessUnitQuery).Entities[0].ToEntity<BusinessUnit>();



            //creating a user
            SystemUser systemUser = new SystemUser();
            systemUser.DomainName = "" + "Chika";
            systemUser.FirstName = "Olabajo";
            systemUser.LastName = "Boss";
            systemUser.InternalEMailAddress = "onyebuchi@gmail.com";
            systemUser.BusinessUnitId = new EntityReference(BusinessUnit.EntityLogicalName, businessUnit.Id);
            Guid systemID = (Guid)Service().Create(systemUser);

           // systemUser = (SystemUser)Service().Retrieve(systemUser.LogicalName, systemID, new Microsoft.Xrm.Sdk.Query.ColumnSet("fullname"));

            //this field is a lookup field to User. Assigned to the user created above
            clinic.new_ClinicCoordinator = new CrmEntityReference(systemUser.LogicalName, systemID);

            clinic.new_BookedBy = new OptionSetValue(100000001);
            clinic.new_Type1 = new OptionSetValue(100000008);
            clinic.new_Type2 = new OptionSetValue(100000001);
            clinic.new_NumberofConsultants = 5;
            clinic.new_NumberofNursesSuppliedByTrust = 6;


            Service().Create(clinic);//getting error here
            MessageBox.Show("Sucessfully added a clinic record");
var clinic=new_clinic();
clinic.new_name=“Medinet”;
帐户信任=新帐户();
trust.Name=“伯明翰市医院”;
Guid信任ID=(Guid)服务()。创建(信任);
CrmEntityReference clinic\u trust=新的CrmEntityReference(trust.LogicalName,trustID);
clinic.new_Trust=clinic_Trust;
clinic.new_ClinicDate=DateTime.Now;
新建医院=新建医院();
hospital.new_name=“Geek guru”;
服务()。创建(医院);
Guid hospitalID=(Guid)hospital.Id;
clinic.new_HostingHospital=新的客户参考(hospital.LogicalName,hospitalID);
clinic.new_ClinicDate=新日期时间(2018,07,28);
new_serviceprovision ser_合同=new_serviceprovision();
ser_contract.new_Trust=诊所_Trust;
ser_contract.new_Speciality=新期权设定值(100000018);
服务()。创建(服务合同);
Guid ser_con_id=(Guid)ser_CONTACT.id;
clinic.new_ServiceContract=new CrmEntityReference(seru contract.LogicalName,seru con_id);
//Account Account=(Account)GetOrgService().Retrieve(trust.LogicalName,trustID,新的Microsoft.Xrm.Sdk.Query.ColumnSet(“名称”);
//检索创建用户所需的默认业务部门
QueryExpression businessUnitQuery=新建QueryExpression
{
EntityName=BusinessUnit.EntityLogicalName,
ColumnSet=新列集(“businessunitid”),
Criteria={Conditions={new ConditionExpression(“parentbusinessunitid”,ConditionOperator.Null)}
};
BusinessUnit BusinessUnit=Service();
//创建用户
SystemUser SystemUser=新系统用户();
systemUser.DomainName=“”+“Chika”;
systemUser.FirstName=“Olabajo”;
systemUser.LastName=“Boss”;
systemUser.InternalEMailAddress=”onyebuchi@gmail.com";
systemUser.BusinessUnitId=新的EntityReference(BusinessUnit.EntityLogicalName,BusinessUnit.Id);
Guid systemID=(Guid)服务()。创建(systemUser);
//systemUser=(systemUser)Service().Retrieve(systemUser.LogicalName,systemID,新的Microsoft.Xrm.Sdk.Query.ColumnSet(“全名”);
//此字段是用户的查找字段。分配给上面创建的用户
clinic.new\u clinicacordinator=new CrmEntityReference(systemUser.LogicalName,systemID);
clinic.new_BookedBy=新选项设置值(10000001);
clinic.new_Type1=新选项设置值(10000008);
clinic.new_Type2=新选项设置值(10000001);
clinic.new_NumberofConsultants=5;
clinic.new_Nurses Supplied ByTrust=6;
服务()。创建(诊所)//这里有错误
MessageBox.Show(“成功添加临床记录”);
我已经用了好几个星期了,如果你能帮我一点忙,我将不胜感激。 我现在有“无serviceprivison问题”,现在已经创建了一个用户,但仍然出现错误

  • 一步一步走。你有三件事一件接一件地做,比如创建用户,检索全名列,然后更新
    clinic.new\u ClinicCoordinator
    字段。注释掉这两个步骤&验证用户是否已创建,如果已成功创建,则检索下一步(这不需要,因为您已经拥有更新所需的systemID)

  • 使用try-catch可以更好地处理代码中的异常

  • 编辑:无法在代码中创建CRM online interactive user

    更新:
    合并以下行,因为
    seru contract
    对象未使用创建的Guid更新回。对hospitalID执行同样的操作

    Service().Create(ser_contract);
    Guid ser_con_id = (Guid)ser_contract.Id;
    
    这应该是有效的:

    Guid ser_con_id = Service().Create(ser_contract);
    

    这段代码在哪里运行,控制台应用程序还是插件?试一试?你调试了吗?您标记了2011&online-是否联机,则无法创建这样的用户。它在windows窗体中运行,使用早期绑定类,动态CRM处于联机状态。@ArunVinoth hi Arun,感谢您的响应,但它没有被创建,因为id仅为零。@ArunVinoth请参见此处,它是在sdk中完成的,我也做了同样的事,但还是出错了。它是用于内部部署而非在线的代码示例;还请注意,您没有在请求中传递域名和业务单元值,这是必需的。