2010-12-08 80 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();