我在单元测试中遇到了“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;
}
}
答案 0 :(得分:0)
您似乎使用了强类型的DataSet。
在这种情况下,生成的代码将包含将字段设置为null的方法。
例如,如果您的字段QuarterDisplay
允许DBNull,则AvailabilityDS.Designer.cs
中生成的代码将包含方法SetQuarterDisplayNull()
。它还将包含一个方法IsQuarterDisplayNull()
,您可以使用它来检查DBNull值。