2010-12-07 60 views
0

我有一個非常簡單的更新。根據表的ID,我想設置一個布爾列爲true。問題是我的知識亞音速就像'黑色'。如何使用Subsonic在Visual Studio中執行簡單更新(c#)

我已經做了以下,但它不起作用。

new SubSonic.Update(FundReturn.Schema).Set(FundReturn.Columns.IsDeleted).EqualTo(1) 
      .Where(FundReturn.Columns.FundId).IsEqualTo(Convert.ToInt32(row.RecordID)).Execute(); 

上面這行看起來很合乎邏輯,但它不起作用。

我希望給

+0

您可以打印出由SubSonic生成的SQL,爲您提供更多信息。下面是一個例子:dim q as SubSonic.SqlQuery = new SubSonic.Update ...; Debug.Print(q.ToString()) – sparks 2010-12-07 19:11:50

回答

0

哇有任何幫助....它更簡單了很多,你可能會想....

var objActiveRecord = SomeActiveRecordType.SingleOrDefault(o => o.Id == iId); 
objActiveRecord.SomeBoolProperty = true; 
objActiveRecord.Update(); 
+0

這假設您使用的是SubSonic代碼生成模板。 – JTtheGeek 2010-12-21 00:02:06

2

猜測這裏,而是設定到請將isDeleted「 1「就像它會出現在數據庫中一樣,將它設置爲'true'是因爲您正在使用的屬性可能在生成的代碼中被解釋爲布爾值。 SubSonic會自動處理這個和RecordId轉換。

new SubSonic.Update(FundReturn.Schema).Set(FundReturn.Columns.IsDeleted).EqualTo(true) 
    .Where(FundReturn.Columns.FundId).IsEqualTo(row.RecordID).Execute(); 
相關問題