Subsonic - 仅返回某些列/属性以供显示

时间:2010-02-01 15:07:44

标签: subsonic subsonic3

我有一个基类来处理从相关类/表中返回的数据。

我希望有一些方法来指定要显示的列。也许有一个公共列列表被分配了我们想要显示的所有列?

这就是我所拥有的,但它不对。

public void SetupGrid<T>() where T : class, new()
        {
            var db = new MyApp.MyDB();
            IRepository<T> repo = new SubSonicRepository<T>(db);
            var s = repo.GetAll();


            var x = from c in s select new { c.Columns //that match columns I specify };

        }

1 个答案:

答案 0 :(得分:0)

这似乎是这样做的,但不确定它是否是最佳实践:

 public virtual void SetupGrid<T>() where T : class, new()
        {
            MyApp.MyDBdb = new MyApp.MyDB();
            IRepository<T> repo = new SubSonicRepository<T>(db);
            ITable table = repo.GetTable();


            List<string> list = new List<string>();
            list.Add("CreatedOn");
            list.Add("PageID");
            list.Add("CreatedBy");

            var s = db.SelectColumns(list.ToArray()).
                    From(table.Name).
                    OrderAsc(table.Descriptor.Name).ExecuteReader();



            bindingSource1.DataSource = s;



        }