我正在CRM 2011中编写一个插件。我正在尝试使用Linq来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。我已经验证了这个插件在使用Retrieve方法而不是LINQ语法时工作正常,但我想让它使用LINQ。有谁知道为什么会出错?
答案 0 :(得分:1)
你需要施放:
Entity legalcase = new Entity("lgl_legalcase")
legalcase = (Entity)legalDataContext.Lgl_legalcaseSet.FirstOrDefault(l => l.Lgl_legalcaseId == legalCaseGUID);
或将legalcase定义为Lgl_legalcase
类型
Lgl_legalcase legalcase = new Lgl_legalcase();
legalcase = legalDataContext.Lgl_legalcaseSet.FirstOrDefault(l => l.Lgl_legalcaseId == legalCaseGUID);
答案 1 :(得分:1)
我只是重构了我的代码,以便Proxies现在位于我的插件引用的库中;在重构之后,我收到此错误消息。
在互联网上搜索20秒后,我发现了以下建议修复:
将[assembly: Microsoft.Xrm.Sdk.Client.ProxyTypeAssemblyAttribute()]
添加到插件程序集
我的虚拟机正在执行,不允许我复制和粘贴,否则,我会分享来自Microsoft社交网站的链接,并将我复制的人信用。