1

我正在 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。我已经验证了这个插件在使用 Retrieve 方法而不是 LINQ 语法时可以正常工作,但我想让它与 LINQ 一起工作。有谁知道为什么这会引发错误?

4

2 回答 2

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);
于 2013-04-01T17:40:28.083 回答
1

我刚刚重构了我的代码,使代理现在位于我的插件引用的库中;重构后,我收到此错误消息。

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

我的虚拟机正在运行,不允许我复制和粘贴,否则,我将分享来自 Microsoft 社交的链接,并归功于我从中复制此内容的人。

于 2013-04-09T20:13:33.407 回答