2009-06-15 35 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>();