我正在尝试使用Linq-to-SQL类实现业务逻辑。该类中的表具有al字段:“IsActive”和字段:“InActiveDate”。
当“IsActive”字段(布尔值)发生变化时,我正在尝试填充非活动日期。
为此我创建了一个包含应该更改的实体的公共部分类的新类。
partial void OnIsActiveChanged()
{
if ((bool)this.IsActive)
{
this.InActiveDate= null;
}
else
{
this.InActiveDate = DateTime.Now;
}
}
我做错了什么? InActiveDate字段在数据库中保持为空,没有任何错误。
答案 0 :(得分:2)
看起来您根本没有对数据库进行更改。在对象上设置值后,需要在DataContext上调用SubmitChanges();
。
答案 1 :(得分:0)
Joel正确的目标... LINQ从数据库中提取数据,然后将其视为普通类。您可以在不更改数据库的情况下随意修改它。为了实际保存您的工作,您需要为DataContext设置声明变量
如下所示
SomeNameDataContext db = new SomeNameDataContext();
db.SubmitChanges();