問題タブ [mapping-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
197 参照

iphone - コア データの移行を取り消しますか?

非常に大きなコア データ データベースを含むアプリがあります。過去1年間に何度もバージョンアップしました。

前回データベースをバージョン管理したときに、エンティティに 1 つの簡単な変更を加えました。新しいオプションの属性を追加しました。何らかの理由で、軽量移行を使用して移行できませんでした。これは、別のバージョニングで必要だった「名前変更識別子」に起因する Apple の軽量移行コードのバグによるものであることが、かなり後になってわかりました。

とにかく脱線…

軽量移行を使用できなかったバグのため、移行に役立つマッピング ファイルを作成しましたが、これがはるかに重いプロセスであり、アプリがデータベース全体を移行中のメモリ。非常に大規模なデータベースでは、これは実際にはまったくオプションではないことが判明し、私のユーザーの多くは、メモリの問題などのためにデータベースをまったく移行できませんでした.

そこで、アプリを再リリースして、この問題を解決したいと思います。問題は、何人かのユーザーが何らかの形で「移行中」とマークされたデータベースを持っていることです。マッピング ファイルを削除して軽量移行をサポートする新しいコードを使用しても、この状態、つまり「移行の途中」にあるユーザーはリセットされないようです。

移行を取り消すためのオプションは何ですか? - Documents ディレクトリに「.myDB.sqlite.migrationdestination_41b5a6b5c6e848c462a8480cd24caef3」ファイルがあるため、この状態にあることがわかります。このファイルを削除しても、移行はクリアされません。私の推測では、データベースが何らかの形でこの状態にあるというフラグが立てられているか、すでに部分的に移行されていると思われます。- この状態を検出して、データベースを完全に削除できます。しかし、これにより、ユーザーはデータを再ダウンロードする必要があります。

何かご意見は?

助けてくれてありがとう。

0 投票する
1 に答える
420 参照

database - データベース設計 : マッピング テーブルにもタイムスタンプ列を追加する必要がありますか?

通常、マッピングテーブルのレコードを更新するのではなく、同じものを削除して新しく追加するのが慣例です。

その場合、マッピング テーブルに updated_on 列を追加することは関係ありませんが、誤って、または意図的にテーブルを更新して、すべてのテーブルに update_on 列を含めることを提案する人がいる可能性があります。すべてのテーブルに created_on 列を追加するのは非常に論理的ですが、少し混乱します。提案してください?

コンベンションとは?

0 投票する
4 に答える
1304 参照

iphone - コアデータ-移行の質問?

移行しようとしています

モデルには2つのバージョンがあります

バージョン1から2へのマッピングモデルを作成しました

問題は、私が作成した移行モデルが見つからないため、mappingModelが常にnilになることです。使用するmappingModelを指定するために必要なことはありますか?

0 投票する
1 に答える
2291 参照

entity-framework - Entity Framework - 重複条件でテーブルを複数のエンティティに分割する

次のマッピングを実行する方法はありますか (データベース優先のアプローチを使用) :

テーブル: (読みやすさのみを目的として、C# に似た構文でテーブルを定義しています)

エンティティ:

私が検討した可能性のある方向性は次のとおりです。

  1. MainItems テーブルの上に 2 つのビューを定義し、エンティティをそれらにマッピングします。
    (Table-Per-Concrete-Type と一緒に、ベース タイプを使用できます。)

  2. AspectABOrBoth 列の代わりに (同じ行に) 自分自身を指す 2 つの null 許容 FK 列を MainItems テーブルに追加します
    (MainItem が AspectA の場合は 1 つ、MainItem が AspectB の場合は非 null です)
    (これでテーブル分割を使用できます)。 、新しい FK 列に基づいています。)

0 投票する
1 に答える
1352 参照

.net - EntityFramework-GetObjectByKeyは主キーを許可しません

次のようなGetObjectByKey関数を使用してレコードを取得しようとしています。

しかし、私はこの例外を受け取ります

System.ArgumentException:提供されたキーと値のペアのリストに誤った数のエントリが含まれています。タイプ'Namespace.Journal'で定義された54のキーフィールドがありますが、1つが提供されました。パラメータ名:キー

タイプジャーナルはビューです。

1つのフィールドだけでその関数を使用するにはどうすればよいですか。それが必要な理由は、ジェネリック型を指定したくないためです。指定されたエンティティセット名から取得するために1つだけです。

前もって感謝します

0 投票する
1 に答える
2318 参照

entity-framework - 最初にEF 4.1コードで親列をマップする方法

私のプロジェクトでは、次の DomainModel があります。

以下のように流暢な構成を使用しています。

すべてのログインデータを取得するためのリポジトリ内の私のコードは次のとおりです。

コードを実行すると、次のエラーが発生します。

外部キー コンポーネント 'CreatedBy' は、タイプ 'Login' で宣言されたプロパティではありません。モデルから明示的に除外されていないこと、および有効なプリミティブ プロパティであることを確認してください。

ここで私が間違っていることを誰かが提案できますか?

前もって感謝します

0 投票する
1 に答える
331 参照

entity-framework - EntityFrameworkでの多対多の関連付けの定義

edmxには次のテーブルがあります。

エラー

サイト

オフィス

オフィスからサイトへのマッピングは1対多です(オフィスはサイトの多くのインスタンスを持つことができます)。

エラーからサイトへの多対多の関連付けを作成して、サイトのプロパティに直接アクセスできるようにしたい。私は常にマッピングでエラーを起こします。誰かが私にそれを正しく行う方法を教えてもらえますか?

前もって感謝します

0 投票する
1 に答える
325 参照

cocoa - 1 対多の関係を移行する Core Data

最初のモデルは次のようなもので、部門には一連の従業員がいます。

ワーカーの関係がジョブに関連するように移動するように変更する必要があります。これが必要だと思います:

まず、これは意味がありますか?もしそうなら、どのように移行を行うのですか?

これらのトピックに関するすべてのドキュメントと例はどこにありますか? たとえば、マッピング モデルの値の式、そこで役立つ式は何ですか? カスタム マッピングで createRelationshipsForDestinationInstance:.. メソッドを実装する必要があるかもしれないと思いますが、ほとんど何も進んでいません。このメソッドのドキュメントには、「移行されたオブジェクト間の関係を (再) 作成する」と書かれていますが、これを行うには間違いなくトリッキーな詳細があり、移行元オブジェクトと移行先オブジェクトを正しく参照する方法について推測する必要があります。

私は Core Data に関する本を購入するところだったのですが、無料の抜粋とソース コードから、このトピックがそこにも完全に隠されていることがわかったのは幸運でした。「このように見えるモデルから、このように見えるモデルに移行するには、これを行う」という行に沿った例を含む本またはガイドを知っている人はいますか?

0 投票する
1 に答える
1758 参照

ios - コアデータマッピングモデルのバージョンのハッシュがソースモデルのバージョンのハッシュと一致しない

Core Data Migration Debugを有効にすると、移行を実行すると、予想どおり、ハッシュが変更された3つのエンティティ(2、3、4)が表示されます。エンティティ1は変更されておらず、説明用です。

メタデータの保存(ソースモデル):

現在のモデル(宛先モデル):

次に、マッピングモデルを作成しますが、マッピングモデルのハッシュは実際のモデルのハッシュとは異なります。

モデルソースハッシュのマッピング:

モデル宛先ハッシュのマッピング:

実際のストアのハッシュとは異なるハッシュを使用してマッピングモデルを作成できる理由は何ですか?この質問を見て、マッピングモデルのモデルを更新しようとしましたが、機能しませんでした。

0 投票する
1 に答える
180 参照

core-data - 新しい (オプションではない) 関係を持つコア データ マッピング モデル

私の元のデータ モデルにはエンティティ「ゲーム」があります。モデルを更新して、複数のゲームを参照できるエンティティ「Match」を含めました。古いゲームのすべてにマッチを追加したいと考えています。理想的には、これは任意の関係ではありません。

現在、Match をオプションに設定し、モデルが更新された後に application:didFinishLaunching 内のすべての古いゲームに Match を追加するだけです。これは機能しますが、これが本当に最善の方法であるかどうか疑問に思っています。

チュートリアルhereに従おうとしましたが、「StepOneEntityMigrationPolicy.m」の部分で行き詰っています。NSEntityMigrationPolicy サブクラスを作成し、マッピング モデルに設定しました。createDestinationInstancesForSourceInstance と createRelationshipsForDestinationInstance: の両方をオーバーライドしようとしましたが、どちらも呼び出されません。

これは、ソースと宛先が両方とも同じ (GameToGame) であるためでしょうか? また、私が今やっているのではなく、マッピングモデルを介してこれを行う利点はありますか?