C# 对早期绑定实体使用Linq to CRM时出错

C# 对早期绑定实体使用Linq to CRM时出错,c#,dynamics-crm-2011,dynamics-crm,crm,C#,Dynamics Crm 2011,Dynamics Crm,Crm,我正在CRM 2011中编写一个插件。我正在尝试使用Linq to CRM检索实体记录,下面是代码片段: Entity legalcase = new Entity("lgl_legalcase"); legalcase = legalDataContext.Lgl_legalcaseSet.FirstOrDefault(l => l.Lgl_legalcaseId == legalCaseGUID); 它在此行中抛出一个错误,表示无法从类型Microsoft.Xrm.Sdk.Entit

我正在CRM 2011中编写一个插件。我正在尝试使用Linq to CRM检索实体记录,下面是代码片段:

Entity legalcase = new Entity("lgl_legalcase");
legalcase = legalDataContext.Lgl_legalcaseSet.FirstOrDefault(l => l.Lgl_legalcaseId == legalCaseGUID);
它在此行中抛出一个错误,表示无法从类型Microsoft.Xrm.Sdk.Entity转换为类型Legal.Entities.Lgl_legalcase。我已经验证了当使用检索方法而不是LINQ语法时,这个插件可以正常工作,但我希望它能够与LINQ一起工作。有人知道为什么会抛出错误吗?

您需要抛出:

Entity legalcase=新实体(“lgl_legalcase”)
legalcase=(实体)legalDataContext.Lgl_legalcaseSet.FirstOrDefault(l=>l.Lgl_legalcaseId==legalCaseGUID);
或将legalcase定义为
Lgl_legalcase
类型

Lgl_legalcase legalcase=新的Lgl_legalcase();
legalcase=legalDataContext.Lgl_legalcaseSet.FirstOrDefault(l=>l.Lgl_legalcaseId==legalCaseGUID);

我刚刚对代码进行了重构,使代理现在位于插件引用的库中;重构之后,我收到了这个错误消息

在互联网上搜索了20秒后,我找到了以下建议的修复方法: 将
[程序集:Microsoft.Xrm.Sdk.Client.ProxyTypeAssemblyAttribute()]添加到插件程序集


我的虚拟机出现故障,不允许我复制和粘贴,否则,我将共享来自Microsoft social的链接,并信任我复制此链接的人。

尝试这两种方法时,我仍会收到相同的错误。您到底遇到了哪种错误?因为您希望将早期绑定转换为晚期绑定,但您在问题中编写的错误看起来与此相反。这是实际的错误描述:“无法从类型Microsoft.Xrm.Sdk.Entity转换为类型Legal.Entities.Lgl_legalcase。”目前,假设错误有效…write
.ToEntity()
最后,看看会发生什么。在插件中,这通常是解决方案。我将不讨论为什么会出现这种情况或其他修复策略。我尝试将此添加到结尾,但仍然收到相同的错误。使用
var something=legalDataContext.Lgl\u legacaseset.FirstOrDefault(l=>l.Lgl\u legacaseid==legalCaseGUID)
?我假设这将返回一个
Microsoft.Xrm.Sdk.Entity
类型。使用var something语句,我仍然收到相同的错误。如果我在下面提交的答案回答了您的问题,请将其标记为答案;否则,请提交更多信息。谢谢