以前は、CrmSvcUtil と 2011 エンドポイントを使用して、Dynamics CRM の早期バインド クラスを生成していました。
これはまだ機能しますが、非推奨になるため、新しい OData エンドポイントを理解し、これを使用してクラスを生成しようとしています。
適切な URL を参照して、CRM のエンティティ モデル XML を表示できます。
または、CRM の開発者セクションから XML をダウンロードすることもできます。
どちらの場合も、エンティティ モデルを定義する XML で終了します。
<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
<edmx:Reference Uri="http://vocabularies.odata.org/OData.Community.Keys.V1.xml">
<edmx:Include Namespace="OData.Community.Keys.V1" Alias="Keys" />
<edmx:IncludeAnnotations TermNamespace="OData.Community.Keys.V1" />
</edmx:Reference>
<edmx:Reference Uri="http://vocabularies.odata.org/OData.Community.Display.V1.xml">
<edmx:Include Namespace="OData.Community.Display.V1" Alias="Display" />
<edmx:IncludeAnnotations TermNamespace="OData.Community.Display.V1" />
</edmx:Reference>
.... blah blah ....
これを厳密に型指定された C# クラスのセットに変換するにはどうすればよいですか?
OData v4 クライアント コード ジェネレーター ツールの使用を推奨するこのガイドを見つけましたが、これはやり過ぎのように思われ、将来的に機能しなくなる可能性のあるツールの使用は避けたいと思います。
EDMX ファイルを変換できるDataSvcUtil.exe の MSDN 記事も見ましたが、XML があります。ファイル拡張子を変更しようとしましたが、変換されず、エラーがスローされます。
エラー 7001: 'Scale' 属性が無効です - 値 'Variable' はそのデータ型によると無効です ' http://schemas.microsoft.com/ado/2007/05/edm:TScaleFacet ' - 文字列 'Variable' は有効な整数値ではありません。
文字列 'Variable' は有効な整数値ではありません。
私は今行き詰まっており、これを行うための推奨される方法がわかりません。