注: MSDN フォーラムにこの質問を投稿しましたが、回答がありません。
やあ、
テーブルに一意の null 許容列が含まれている場合、SqlCeDataAdapter で Update を呼び出すと問題が発生します。この問題は、SqlCeParameter が、DbCommandBuilder によって設定された SourceColumnNullMapping プロパティへの変更を破棄するために発生します。これにより、DbDataAdapter 内で不適切な動作が発生し、列の型に応じてさまざまな例外が発生する可能性があります (たとえば、列が文字列型で、コミットする行に変換できないこのセルの値がある場合の書式例外)。 Int32)。このプロパティの詳細、必要な理由、SQL ステートメントへの影響については、この MSDN 記事を参照してください。
SqlCeParameter で SourceColumnNullMapping を設定できないのはなぜですか? データモデルを変更しない限り、回避策はないようです。これは意図的に省略されたのでしょうか?開発者は時間切れになりましたか? これはバグですか?もしそうなら、どこに報告できますか?
私はこれを SQL Server CE 4.0 (4.0.8482.1) でテストし、さらに (明らかに未発表の?) SP1 (4.0.8876.1) も試しました。
どんな答えでも本当に楽しみにしています!