Linq to SQLのクエリは、次のように非常に似ています。
var result = (from shareclass in database.ShareClassInfo
where shareclass.Id == ID
select new ShareClass
{
IsOnlineListing = shareclass.IsOnlineListing
}
);
var list = result.ToList();
結果からリストを作成しようとすると、次のエラーが表示されます。
null値をSystem.Boolean型のメンバに割り当てることはできません。これはnullable型ではありません。
この理由は、 IsOnlineListing
は bool
ですが、データベースのフィールドがnullであるためです。だから、私は事実上、値の型にnull値を割り当てることを試みている(これは不可能である)。
私は、これを解決するには、 IsOnlineListing
をヌル可能な型にすることを考えていますが、最初は何故このようにしたのか少し混乱しています。つまり、データベースフィールドは [bit] NULL
フィールドとして定義されています。私はコンパイラが、null値ではない型に null
の値を代入させるよりも賢明だと思っていました。
だから私が疑問に思っているのは、これが正しい解決策であるかどうかです。これを行う別の方法がありますか?コンパイラがこれが問題であるか、問題であると私に言うことができなかったのはなぜですか?