如何定义早绑定实体?
问题描述:
我试图编译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的实现?微软是否提供图书馆?
答
您需要使用工具来生成早期绑定实体。有多种方式可以做到这一点:
- 经典的方法是使用CrmSvcUtil。
- 在XrmToolBox中使用Early Bound Generator。这基本上是CrmSvcUtil的用户界面以及各种改进。
- 使用CRM Code Generator for Visual Studio,它也运行CrmSvcUtil有一些改进。
- 使用XrmContext,这是一个从头开始重写的工具,用于输出类似于由CrmSvcUtil生成的各种改进的早期绑定类。 完全披露:我为制作此工具的公司工作(我强烈建议使用它)。
你最终使用哪种工具并不重要。更重要的是你实际使用一个。我发现这对于使用晚期实体是一个很大的好处。
答
我维护“DLaB.Xrm.Entities”早期绑定实体的NuGet包。它不会包含您所做的任何自定义设置,但它将具有默认的属性/实体。
不知道Visual Studio Henrik的Crm代码生成器。凉。我将补充一点,早期绑定生成器还允许您存储特定于您拥有的连接的设置,并处理从TFS中检查出的东西,将它们添加到项目中,然后添加到TFS中。 – Daryl