如何将属性设置为true以允许我插入空值?

时间:2014-12-11 07:28:38

标签: c# unit-testing dbnull

我在单元测试中遇到了“AddEffectiveQuarterTest”方法的错误。如何将属性设置为true以允许我插入空值?

AvailabilityBLTest.cs文件:“AddEffectiveQuarterTest”方法

    public void AddEffectiveQuarterTest()
    {
        AvailabilityBL target = new AvailabilityBL();
        AvailabilityDS ds = new AvailabilityDS();
        TestBusinessLogic.BusinessLogic_AvailabilityBLAccessor accessor = new TestBusinessLogic.BusinessLogic_AvailabilityBLAccessor(target);

        // SETUP STANDARD TEST DATA
        this.SetupTestData(ds, null);
        int newModelID = -1;    
        .........
    }

AvailabilityDS.Designer.cs文件

public string QuarterDisplay {
    get {
            try {
                return ((string)(this[this.tableTime.QuarterDisplayColumn]));
            }
            catch (global::System.InvalidCastException e) {
                throw new global::System.Data.StrongTypingException("The value for column \'QuarterDisplay\' in table \'Time\' is DBNull.", e);
        }
    }
    set {
            this[this.tableTime.QuarterDisplayColumn] = value;
    }
}

如何使用以下代码编辑以将属性设置为true以允许我插入空值?

public bool AllowDBNull { get; set; }

如何检查dbnull?我收到了以下代码的错误。

 public bool IsColumnNameNull() {
                    return this.IsNull(this.tableColumn.ColumnNameColumn);
                }

 public string SetColumnKeyNull() {
            {
                get
                {
                    try
                    {
                        return ((string)(this[this.tableColumn.ColumnKeyColumn]));
                    }
                    catch (global::System.InvalidCastException e)
                    {
                        throw new global::System.Data.StrongTypingException("The value for column \'SetColumnKeyNull\' in table \'Column\' is DBNull.", e);
                    }
                }
                set
                {
                    this[this.tableColumn.ColumnKeyColumn] = value;
                }
            }

1 个答案:

答案 0 :(得分:0)

您似乎使用了强类型的DataSet。

在这种情况下,生成的代码将包含将字段设置为null的方法。

例如,如果您的字段QuarterDisplay允许DBNull,则AvailabilityDS.Designer.cs中生成的代码将包含方法SetQuarterDisplayNull()。它还将包含一个方法IsQuarterDisplayNull(),您可以使用它来检查DBNull值。