如何从数据库中获取数据到标签(lambda或linq)?

时间:2018-04-15 18:23:07

标签: c# entity-framework linq

我正在设计一个在线测试系统。我想从数据库中读出20个问题并显示标签? (由EF)

Model.db_ExamOnlineEntities dbobj = new Model.db_ExamOnlineEntities();

private void Form1_Load(object sender, EventArgs e)
{
    Model.Table_Question qs = new Model.Table_Question();

    var query = dbobj.Table_Question.Find(qs.qtext);

    for (int i = 0; i < 20; i++)
    {
        label1.Text = query.ToString();
    }
}

如何创建20个标签?

2 个答案:

答案 0 :(得分:2)

我推测你正在使用ASP.NET(aspx),在这种情况下,我建议你使用ListView / Repeater,而不是在运行中循环和创建控件。

请参阅示例用法here.

*编辑:ZiggZagg reference用于动态创建控件也可以。

答案 1 :(得分:0)

使用Take(int count)

Model.db_ExamOnlineEntities dbobj = new Model.db_ExamOnlineEntities();

private void Form1_Load(object sender, EventArgs e)
{
    Model.Table_Question qs = new Model.Table_Question();

    var query = dbobj.Table_Question.Find(qs.qtext).Take(20);

    for (int i = 0; i < 20; i++)
    {
        label1.Text = query.ToString();
    }
}

Take(int count)会根据您的查询获取给定数量的元素,这意味着如果您使用例如:

var query = (from foo in bar).Take(100)

将从条形图表中返回foo行的前100条记录,