如何定义早绑定实体?

问题描述:

我试图编译this代码示例。如何定义早绑定实体?

它有SystemUser依赖:

    // Now make an SDK call with the organization service proxy. 
       // Display information about the logged on user. 
       Guid userid = ((WhoAmIResponse)organizationProxy.Execute(
        new WhoAmIRequest())).UserId; 
       SystemUser systemUser = organizationProxy.Retrieve("systemuser", userid, 
        new ColumnSet(new string[] { "firstname", "lastname" })).ToEntity<SystemUser>(); 
       Console.WriteLine("Logged on user is {0} {1}.", 
        systemUser.FirstName, systemUser.LastName); 

但SystemUser是早期结合的实体,是不是?

有没有我可以使用的SystemUser的实现?微软是否提供图书馆?

enter image description here

您需要使用工具来生成早期绑定实体。有多种方式可以做到这一点:

  • 经典的方法是使用CrmSvcUtil
  • XrmToolBox中使用Early Bound Generator。这基本上是CrmSvcUtil的用户界面以及各种改进。
  • 使用CRM Code Generator for Visual Studio,它也运行CrmSvcUtil有一些改进。
  • 使用XrmContext,这是一个从头开始重写的工具,用于输出类似于由CrmSvcUtil生成的各种改进的早期绑定类。 完全披露:我为制作此工具的公司工作(我强烈建议使用它)

你最终使用哪种工具并不重要。更重要的是你实际使用一个。我发现这对于使用晚期实体是一个很大的好处。

+0

不知道Visual Studio Henrik的Crm代码生成器。凉。我将补充一点,早期绑定生成器还允许您存储特定于您拥有的连接的设置,并处理从TFS中检查出的东西,将它们添加到项目中,然后添加到TFS中。 – Daryl

我维护“DLaB.Xrm.Entities”早期绑定实体的NuGet包。它不会包含您所做的任何自定义设置,但它将具有默认的属性/实体。

所有答案在这里都很好,但运行此代码的最简单,最快的方法就是使用SDK本身提供的类中

\SDK\SampleCode\CS\HelperCode\MyOrganizationCrmSdkTypes.cs 

您试图编译示例项目已经引用此类: enter image description here