Вам нужно только присвоить, а затем присвоить нулевое свойство null
. Я никогда не должен был назначать или проверять System.DBNull при использовании сущностей linq-to-sql.
Похоже, что сгенерированные классы сущностей были изменены вручную или устарели из базы данных.
Для справки, следующее целое поле, которое может быть необнуляемым и не обнуляемым:
private int? _someID;
/// <summary>
/// Gets or sets the SomeID.
/// </summary>
[Column(Name="SomeID", Storage="_someID", DbType="INT", UpdateCheck=UpdateCheck.Never)]
public int? SomeID
{
private int _someOtherID;
/// <summary>
/// Gets or sets the SomeOtherID.
/// </summary>
[Column(Name="SomeOtherID", Storage="_someOtherID", DbType="INT NOT NULL", CanBeNull=false, UpdateCheck=UpdateCheck.Never)]
public int SomeOtherID
{
Убедитесь, что ваша сгенерированная сущность выглядит примерно так, как указано выше.