我在sqlserver的表(Activity)中添加了一个新列(DateCreated)。 我正在使用亚音速2.0,如何将此列添加为亚音阶分部类中的属性,以便我可以插入并更新“DateCreated”列的值。 DateCreated将由用户从GUI提供。
以下是我使用的代码,但它插入了NULL&从数据库中检索NULL。
public partial class ActivityInscription
{
public struct Columns
{
public static string IsInMixedList = @"IsInMixedList";
}
public bool? IsInMixedList
{
get;
set;
}
}
请任何人帮我解决此问题。
答案 0 :(得分:1)
如果您将列添加到数据库,则只需重建DAL。它将拾取新列并将其添加到亚音速DAL。您的案例中没有理由使用Partial类。这将有效,前提是表“Activity”是配置文件中表的亚音速列表(includeTableList)的一部分。
答案 1 :(得分:0)
以下是我使用的解决方案,它正在运行:
公共部分类活动 {
public DateTime? DateCreated
{
get;
set;
}
protected override void BeforeInsert()
{
TableSchema.Table tblSchema = Schema;
TableSchema.TableColumn ccDateCreated = new TableSchema.TableColumn(tblSchema);
ccrDateCreated.ColumnName = "DateCreated";
ccDateCreated.DataType = DbType.DateTime;
ccDateCreated.MaxLength = 0;
ccDateCreated.AutoIncrement = false;
ccDateCreated.IsNullable = false;
ccDateCreated.IsPrimaryKey = false;
ccDateCreated.IsForeignKey = false;
ccDateCreated.IsReadOnly = false;
ccDateCreated.DefaultSetting = @"";
ccDateCreated.ForeignKeyTableName = "";
if (!tblSchema.Columns.Contains("DateCreated"))
{
tblSchema.Columns.Add(ccDateCreated);
}
if (this.GetSchema().Columns.Contains("DateCreated"))
this.SetColumnValue(Columns.DateCreated, DateCreated);
base.BeforeInsert();
}
}
现在它工作正常&插入我从GUI提供的值。