1

edmx モデルに 1 つのエンティティがあり、巨大な XML データを含むことができる 1 つのプロパティがあります。

基本的に、このプロパティ (列) /* 巨大なデータの読み込み */ なしで、このエンティティを読み込みたいと考えています。そして、この列は絶対に必要な場合にのみロードしてください。

このプロパティを含む継承されたエンティティを作成し、このプロパティを基本エンティティ (元のエンティティ) から削除しようとしました。マッピングを行いました。現時点では、コンパイル中にエラーが発生するという問題があります。プロパティがnull可能ではないため、基本エンティティはそれ自体を挿入および更新できません

この状況をどのように解決すべきか、最善のアプローチ(解決策)を探しています。

emdx デザイナーからのカットアウトを添付します (現在および望ましい状況を含む)

EntityFrameWork ビュー

アップデート:

私が試した手順を書いてみます: 関数をカスタム関数にマップしました。XML 列 (プロパティ) のないエンティティ TRP_TechReport_T の場合。次に、エンティティ TRP_TechReport_T 関数をカスタム関数 (XML 列を含む) にマップしました。

次に、エンティティ TRP_TechReport_T にマッピング条件を設定します。TRP_XML = Empty.String の場合

TechReport_T マッピング: TechReport マッピング

TechReport_T 関数: ここに画像の説明を入力

TechReportFull_T マッピング: エンティティ TechReportFull_T マッピング

TechReportFull_T 関数: TechReportFull_T 関数

この時点でエラーが発生します:

エラー 2 エラー 3032: 行 3754 で始まるフラグメントのマッピングに問題があります: 条件メンバー 'TRP_TechReport_T.TRP_XML' が 'IsNull=False' 以外の条件でマップされています。TRP_TechReport_T.TRP_XML の条件を削除するか、マッピングから削除してください。

列はデータベースで NULL 可能ではなく、そうであってはなりません。

XML プロパティを null 許容にハード設定することはできますが、モデルがデータベースから更新される場合、情報が失われます。

現時点ではそれしか思い浮かびません。

4

0 に答える 0