2009-08-11 12 views
0

私は テーブルにNULL以外の外部キーがある場合、どのようにケースを処理しますか?

がすることによってこれを簡素化させ、私はそれに2台とlinq2sqlのDBMLを持っている場合があります。

Table1 
id int not null 
fkid int not null (to table2.id) 

と生成DBMLで

Table2 
id int not null 
v1 bit not null 

、fkidではありませんnullableで、デフォルトでは値は0

ですが、表2ではIDがありません

fkidフィールドに触れずに新しいレコードを挿入しようとすると、SQL挿入エラーが表示されます:0はテーブル2に存在しません

問題は完全にチェックします列がNULLの場合:値は0であり、それはケースカスタムエラーをスロー

だ場合、私のような何かをしたい場合は、列がnullチェックを許可しない場合

:私はちょうどような何かを行うことはできません"私のカスタムエラー"を投げてください

どうやって実装しますか?

答えて

1

私はT4テンプレートを使用していているので、私はそれは常に生成されたファイル

でどこでもNULL可能タイプを設定し

if (type.IsValueType) 

if (type.IsValueType && canBeNull) 

からL2ST4.ttincludeにライン80を変更

+0

私はちょうど私の質問からこれを移動したので、良い答えがない場合は2日後に緑色のチェックを付けることができます – Fredou

関連する問題