私はEntity-Attribute-Value(EAV)データベースを持っています。この意味でのエンティティは、EF内のエンティティとは関係ありませんが、単に情報を格納する「物」を指しています。値テーブルには、属性(情報の名前)とエンティティに関連付けられた値を格納します。Entity Framework - エンティティの切り離しと再接続?
EAVモデルでは、NULL値を保存しません。与えられた{Entity、Attribute}の組み合わせに対して、ValueテーブルにエントリがないことはNULLを意味します。
このため、ValueテーブルのData列(Int型)はNULL可能ではありません。これは私が扱わなければならない制約です。私はそれを変更することはできません。
私はWPFアプリケーションを構築しており、Valueエンティティをテキストボックスにバインドしたいと考えています。保存時にテキストボックスが空白の場合、バインドされたエンティティが保存に含まれないようにする必要があります(テーブルに0が書き込まれるため、間違っています)。テキストボックスが空でない場合は、明らかにデータを保存する必要があります。
私は、テキストボックスの値に基づいてエンティティを切り離して再接続することを実験していましたが、関係オブジェクトに関連するエラーが発生しています。
私がやろうとしていることを達成する方法についてのアイデアはありますか?