-1

我们在本地使用 CRM 2015,我们正在尝试构建客户门户,为此我们生成了 Early Bound 类

它已成功生成并添加到 VS 2012。现在的问题是当我在 VS 中构建项目时它运行良好,当我运行项目时它在自动生成的代码中抛出错误

代码如下

    public XrmServiceContext()
    {

    }

下面是我的 web.config 代码

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="Microsoft.Xrm.Client" type="Microsoft.Xrm.Client.Configuration.CrmSection, Microsoft.Xrm.Client"/>
  </configSections>
  <connectionStrings>
    <add name="Xrm" connectionString="ServiceUri=http://Contoso/XRMServices/2011/OrganizationData.svc/; Domain=MyDomain; Username=vsaravanakumar; Password=Password@5"/>   
  </connectionStrings>
  <Microsoft.Xrm.Client>
    <contexts>
      <add name="Xrm" type="Xrm.XrmServiceContext, WebAppWalkthrough"/>
    </contexts>
  </Microsoft.Xrm.Client>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID">
      <controls>
        <add tagPrefix="crm" namespace="Microsoft.Xrm.Portal.Web.UI.WebControls" assembly="Microsoft.Xrm.Portal"/>
      </controls>
    </pages>
    <authentication mode="None"/>
  </system.web>
</configuration>

我得到的异常是“无法找到带有名称的连接字符串”。

我在调试代码时遇到了这个错误

我遵循了网站门户开发中提到的 MSDN 网站的每一个步骤,如果我遗漏了什么,请帮助我解决这个错误

下面是我的 Web.config 代码

4

2 回答 2

0

您需要在 app.config/web.config 文件中定义 CRM 连接字符串。如果您未指定连接字符串,则客户端 DLL 默认使用配置文件。

于 2015-06-03T16:07:45.713 回答
0

CRMSvcUtil.exe 用于生成一组可以包含在项目中的类,然后用于读取和操作 CRM 数据。但是在您创建连接然后实例化并使用它们之前,它们不会“做”任何事情。此处介绍了简化的连接字符串方法... https://msdn.microsoft.com/en-us/library/gg695810.aspx

本质上,您在 web.config 部分中放置了一个 conn 字符串,如下所示...

<add connectionString="Url=http://crm.contoso.com/xrmContoso; Domain=CONTOSO; Username=jsmith; Password=passcode" name="Crm" />

然后在你使用早期或晚期绑定对象之前的某个地方,你这样做......

//Use the Microsoft Dynamics CRM Online connection string from the web.config  (or app.config) file named "CRM".
var connection = new CrmConnection("CRM");
var service = new OrganizationService(connection);
var context = new CrmOrganizationServiceContext(connection);

通过早期绑定,您可以对生成的代码对象或{entity}上下文集进行LINQ 查询,如下所示...

var contacts = (from c in context.ContactSet
                where c.LastName == "Smith"
                select c);

这将返回与您的条件匹配的记录集合,您可以使用 foreach 循环枚举这些记录,或绑定到控件,或作为 JSON 数组发送,或任何您想要的。

于 2015-09-16T00:34:56.417 回答