2010-12-08 100 views
0

我试图用我的Linq-to-SQL类实现业务逻辑。类中的表具有al字段:“IsActive”和字段:“InActiveDate”。使用Linq-to-SQL的业务逻辑

我试图填充“IsActive”字段(布尔)正在改变时的无效日期。

为此我创建了一个新的类,其中包含应该更改的实体的公共部分类。

partial void OnIsActiveChanged() 
    { 
     if ((bool)this.IsActive) 
     { 
      this.InActiveDate= null; 
     } 
     else 
     { 
      this.InActiveDate = DateTime.Now; 
     } 
    }  

我在做什么错? InActiveDate字段在数据库中保持为空而没有单个错误。

回答

2

它看起来并不像您将更改提交到数据库中。一旦在对象上设置了值,就需要在DataContext上调用SubmitChanges();

+0

我使用的LinqDataSource用一个DetailsView。如果我是正确的,则在detailsview中提交更改之后会发生onchange事件。逐步浏览程序时,它看起来像是由detailsview提供的值覆盖了更改。如果这是正确的,业务逻辑的用途是什么? – 2010-12-08 17:27:19

0

Joel的目标是正确的...... LINQ从数据库中提取数据,然后将其视为一个普通的类。您可以在不更改数据库的情况下修改它。实际上为了节省你的工作,你需要设置你的声明一个变量为您的DataContext

像下面

SomeNameDataContext db = new SomeNameDataContext(); 

db.SubmitChanges();