最近、Entity Data Modelを扱っている。
edmxファイルを開こうとしたときに、エラーが出て、それ以降二度と開けなくなることがある。
「操作を完了できませんでした。パラメータが間違っています。」 ……これで、二度泣かされた。
しかし、今回ばかりは本当に苦労して作ったモデルだったので、何とかして復旧させようと、edmxのXMLを解析し、やっとのことで、エラーの原因がわかった。
デザイナ周りの自動生成XMLが、唯一でないといけないはずなのに、同じコードを二度、生成してしまっている箇所があるではないか。その生成コードの一方を削除すると……edmxデザイナが無事に開いた。
つまり、原因は、edmxファイルの終りの方、デザイナセクションの<edmx:Diagrams>要素の中の<Diagram>要素の子要素の宣言の重複にある。私の場合は、<Diagram>の中の割と前の方に宣言されているAssociationConnectorと全く同じものが、</Diagram>で閉じられている直前にあった。
これは、Beta2の頃から、英語版のConnectにもレポートされているバグだが、未だ治っていないようである。