我有一个从数据库中检索数据的类。
[Table(Name = "Ilanlar")]
public class Ilan
{
[Column(Name="ilan_id" ,IsPrimaryKey = true)]
public int M_ilan_id;
[Column(Name="refVerenUser_id")]
public int M_refVerenUser_id;
}
我正在通过上面的类绑定来自 db 的数据。
private void ItemsGet()
{
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = f_IlanlariGetir(CurrentPage);
objPds.AllowPaging = true;
objPds.PageSize = 3;
objPds.CurrentPageIndex = CurrentPage;
rptIlanlar.DataSource = objPds; //rptIlanlar = asp:Repeater
rptIlanlar.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
ItemsGet();
}
private System.Collections.IEnumerable f_IlanlariGetir(int p)
{
Context context = new Context(DAO.dbYaban.ConnectionString);
return context.GetTable<Ilan>();
}
但结果是 IEnumerable 但我需要像 DataSet 这样的东西。我收到此错误:
我找到了关于这个错误的很好的解释,它是:
底层 DataSource 必须支持 ICollection 接口才能使网格执行自动分页。ICollection 需要一个类来实现 Count 属性。ArrayList 和 DataView 都支持该接口,因此您可以将它们用作 DataSources。其他类仅支持 IEnumerable 接口。这允许它们用作数据源,但不能用作分页数据源。SqlDataReader 就是此类的一个示例。参考
但我需要将转发器与 linq 的结果绑定到 sql 表。我应该怎么办?