2009-06-15 17 views
0

我在我的項目中使用SubSonic。我需要選擇某些條件過濾的行。我試圖用類SqlQuery如下:SubSonic.SqlQuery ExecuteTypedList <T>只返回新的對象

  SqlQuery q = new Select() 
      .From("TableName") 
      .Where(MyDALObject.Columns.Status) 
      .NotIn(new[] { 1, 8, 9, 22, 23}); 

      IList<MyDALObject> list =  
       q.ExecuteTypedList<MyDALObject>(); 

列表列表中的所有對象都是新的。哪裏不對?

+0

其實我得到了這個問題。我正在用DAL對象啓動我的BLL對象。並且當你使用SqlQuery時,返回的對象將IsNew設置爲true(奇怪)。我正在檢查ctor,如果dalObj.IsNew然後用新對象初始化它,那就是問題所在。所以我正在結束這個問題。我的代碼再一次出現了問題,而不是SUBSONIC的。 – TheVillageIdiot 2009-06-16 01:19:46

+0

哎呀不能關閉它:( – TheVillageIdiot 2009-06-16 01:21:44

回答

2

試試這個:

MyDALObjectCollection = new Select() 
    .From(MyDALObject.Schema) 
    .Where(MyDALObject.Columns.Status).NotIn(new[] { 1, 8, 9, 22, 23}) 
    .ExecuteAsCollection<MyDALObjectCollection>();