2011-06-22 12 views
0

誰かが取得し、2011年更新LINQの例を使用してCRM 2011のレコードが

マイクロソフトでは、この「サポートされていない」と主張CRMダイナミクス内のレコードを更新するためにLINQを使用して確認例を投稿してくださいことができますが、私は疑いを持っています可能だ。

+1

あなたのアサーションのソースを参照できますか? – ccellar

答えて

0

これは良い例では、SDKにもありますがオンラインプロバイダ

   var serverConfig = GetServerConfig(sessionKey); 
      // Connect to the Organization service. 
      // The using statement ensures that the service proxy will be properly disposed. 

      using (var serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri, serverConfig.Credentials, serverConfig.DeviceCredentials)) 
      { 
       // This statement is required to enable early-bound type support. 
       serviceProxy.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior()); 

       using (var orgContext = new CrmServiceContext(serviceProxy)) 
       { 
        return orgContext.AccountSet.Where(item => item.Id == id).Select().Single(); 
       } 
      } 

に接続ODATAプロバイダを使用しての大まかな例です。

CRM2011Sdk \ SDK \のSampleCode \ CS \ wsdlbasedproxies \オンライン

3

CrmSvcUtil.exeツールを使用してC#エンティティクラスを生成する「初期バインド」アプローチを使用しますが、さまざまな例では/codecustomizationスイッチを使用してください。 CRM 2011 SDKの最新バージョンが必要で、その\binフォルダからCrmSvcUtil.exeを実行する必要があります(CRMと共にインストールするバージョンは使用しないでください)。

あなたのプロジェクトは、(それが構築されるまで、それらを追加し、あなたが不足しているものを見るためにビルドエラーを見て)Microsoft.Xrm.ClientMicrosoft.Xrm.SdkMicrosoft.Crm.Sdk.Proxyプラスの.NET Frameworkからいくつか他の人を参照する必要があります。ここで

は、CRMに戻ってそれを保存し、その分野の一つは、更新、連絡先のエンティティを取得する基本的なコードスニペットです:。

CrmDataContext dc = new CrmDataContext("Xrm"); 

Contact contact = (from c in dc.ContactSet 
        where ...whatever... 
        select c).FirstOrDefault(); 

contact.FirstName = "Jo"; 

dc.SaveChanges(); 

CrmDataContextは私のデータコンテキストの名前であることに注意してくださいすることができますCrmSvcUtilコマンドラインスイッチのいずれかを使用してこの名前を設定します)。

はまた、あなたのweb.configファイルにいくつかのことを追加する必要があります:

<configSections> 
    <section name="microsoft.xrm.client" type="Microsoft.Xrm.Client.Configuration.CrmSection, Microsoft.Xrm.Client" /> 
</configSections> 

<connectionStrings> 
    <add name="Xrm" connectionString="Server=http://<your crm url>; Domain=<your domain>; Username=<a crm user id>; Password=<their password>" /> 
</connectionStrings> 

<microsoft.xrm.client> 
    <contexts> 
     <add name="Xrm" type="" /> 
    </contexts> 
</microsoft.xrm.client> 

これはあなたの企業ネットワーク上でCRMを実行していると仮定しているので、アカウントとドメインが接続文字列で指定されただろうエンティティを取得および更新するための関連する権限を持つCRMユーザとして設定されているADアカウントである必要があります。

関連する問題