1

私はEFでbreezejsを使用しています。私の Web API は、グリッドにバインドするために使用する多数のリンクされたエンティティからのプロパティで構成される「オブジェクト」を返します。後でいくつかのプロパティを更新する必要があり、データをキャッシュしたいので、簡単です。noDB サンプルを使用してカスタム エンティティを作成しています。

最初の問題は、breeze が name という名前のプロパティが addEntityType メソッドで渡されることを期待しているように見えることです。そうしないと、エラーがスローされます。

2 番目の問題は、行 4742 の微風で structureType._fixup を呼び出すと、次のエラー Object # has no method '_fixup' がスローされているようですが、関数が存在することがわかります。

以下のコードで私が間違っていることを誰でも指摘できますか? エラーは addEntityType 呼び出しにあります。

manager.metadataStore.addEntityType({
            name: "Transcription", shortName: "Transcription", namespace: "Etrans.Data.Models", autoGeneratedKeyType: breeze.AutoGeneratedKeyType.Identity,
            dataProperties: {
                audio: { dataType: DataType.String }, clientID: { dataType: DataType.Int32 }, clientName: { dataType: DataType.String },
                clinicianfirstname: { dataType: DataType.String }, clinicianlastname: { dataType: DataType.String }, Notes: { dataType: DataType.String },
                status: { dataType: DataType.String }, transcriptionid: { dataType: DataType.Int32, isPartOfKey: true }, user: { dataType: DataType.String }
            }

        });
        manager.metadataStore.registerEntityTypeCtor("Transcription", null, customReportFields);

サーバー側では、Etrans.Data というプロジェクトにデータ層があります。Web API は、データ レイヤーにクエリを実行するリポジトリを呼び出します。この例では、Transcription (Etrans.Data.Models.Transcription) と呼ばれるエンティティと、多数のリンクされたエンティティを照会しています。

4

3 に答える 3

1

私のマシンでは、Breeze は addEntityType への呼び出しで次のメッセージとともにエラーをスローします。

Error configuring an instance of 'EntityType'. Unknown property: 'name'.

基本的に、「name」は addEntityType 呼び出しに対する有効な構成パラメーターではありません。したがって、そよ風がshortNamenamespaceから構築するため不要な 'name' プロパティを削除すると、コードは次のようになります。

manager.metadataStore.addEntityType({
        shortName: "Transcription",
        namespace: "Etrans.Data.Models",
        autoGeneratedKeyType: breeze.AutoGeneratedKeyType.Identity,
        dataProperties: {
            audio: { dataType: DataType.String },
            clientID: { dataType: DataType.Int32 },
            clientName: { dataType: DataType.String },
            clinicianfirstname: { dataType: DataType.String },
            clinicianlastname: { dataType: DataType.String },
            Notes: { dataType: DataType.String },
            status: { dataType: DataType.String },
            transcriptionid: { dataType: DataType.Int32, isPartOfKey: true },
            user: { dataType: DataType.String }
        }
    });

これは問題なく動作します。

お役に立てれば。

于 2013-05-14T17:03:32.073 に答える
0

HOT TOWEL TEMPLATE を使用しているすべての人へ... 最新の BREEZE コードを直接取得し、NUGET アップデートを使用しないことをお勧めします ... 2013 年 5 月 15 日現在

くそー..私はこれで 1 日を無駄にしました。nuget パッケージ ソースと、breezejs.com から入手できるパッケージは大きく異なるようです。breezejs から最新のソースをダウンロードしましたが、以前のコメントで言及した行は、実際には addEntityType 関数全体が異なるため存在しません。 .. structureType.name がありません!! nuget を使用して、最新の安定したソースに更新しました。これがホットタオルテンプレートからのものなのか、ナゲットからのものなのかはわかりません.

于 2013-05-15T02:14:36.693 に答える