如何定义早期绑定实体?
how to define early bound entities?
我正在尝试编译 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 实现吗? Microsoft 是否提供库?
您需要使用工具来生成早期绑定实体。有多种方法可以这样做:
- 经典的方法是使用CrmSvcUtil。
- 使用Early Bound Generator in XrmToolBox。这基本上是 CrmSvcUtil 的用户界面以及各种改进。
- 使用 CRM Code Generator for Visual Studio,它也可以运行 CrmSvcUtil,但有一些改进。
- 使用 XrmContext,这是一个从头开始重写的工具,输出早期绑定 类 类似于 CrmSvcUtil 生成的工具,并进行了各种改进。 完全披露:我为制作此工具的公司工作(我强烈推荐使用它)。
最终使用哪种工具并不重要。实际使用一个更重要。我发现这比使用后期绑定实体有很大好处。
我维护 "DLaB.Xrm.Entities" 早期绑定实体的 NuGet 包。它不会包含您所做的任何自定义设置,但会包含默认值 attributes/entities。
这里的所有答案都很好,但是运行此代码最简单(也是最快)的方法是使用
中SDK本身提供的类
\SDK\SampleCode\CS\HelperCode\MyOrganizationCrmSdkTypes.cs
您尝试编译的示例项目已经在引用此 类:
我正在尝试编译 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 实现吗? Microsoft 是否提供库?
您需要使用工具来生成早期绑定实体。有多种方法可以这样做:
- 经典的方法是使用CrmSvcUtil。
- 使用Early Bound Generator in XrmToolBox。这基本上是 CrmSvcUtil 的用户界面以及各种改进。
- 使用 CRM Code Generator for Visual Studio,它也可以运行 CrmSvcUtil,但有一些改进。
- 使用 XrmContext,这是一个从头开始重写的工具,输出早期绑定 类 类似于 CrmSvcUtil 生成的工具,并进行了各种改进。 完全披露:我为制作此工具的公司工作(我强烈推荐使用它)。
最终使用哪种工具并不重要。实际使用一个更重要。我发现这比使用后期绑定实体有很大好处。
我维护 "DLaB.Xrm.Entities" 早期绑定实体的 NuGet 包。它不会包含您所做的任何自定义设置,但会包含默认值 attributes/entities。
这里的所有答案都很好,但是运行此代码最简单(也是最快)的方法是使用
中SDK本身提供的类\SDK\SampleCode\CS\HelperCode\MyOrganizationCrmSdkTypes.cs
您尝试编译的示例项目已经在引用此 类: