我如何使用 LINQ 获取我的本地数据库数据来填充我的文本框?

how can i get my local DB data to fill my txt box using LINQ?

我在我的学校学习指南中学习了这个 LINQ 代码,但它们没有在文本框中向我们展示,只向我们展示了使用属性进行数据绑定,但我需要使用 LINQ 代码,而不是像我对组合框数据所做的那样.

public partial class Students : Form
{

    LINQDataClasses1DataContext DB = new LINQDataClasses1DataContext();
    public Students()
    {
        InitializeComponent();
    }

    private void Students_Load(object sender, EventArgs e)
    {
        //Retrieving data from datbaser using LINQ class convert it to list students ID's
        var StudentIDs = (from c in DB.Students select c).ToList();
        var STudentName = (from c in DB.Students select c).ToString();

        //bind the Student ID combo box to database
        cmbSTID.DataSource = StudentIDs;

        //Databinding setup for the Student ID combo box
        cmbSTID.DisplayMember = "SID";
        cmbSTID.ValueMember = "SID";
        cmbSTID.DataSource = StudentIDs;

我不知道你的 Student class 是什么,所以我只能猜测它看起来像这样:

public class Student
{
    public long SID { get; set; }
    public string Name { get; set; }
}

解决方法很简单:

private void Students_Load(object sender, EventArgs e)
{
    //Retrieving data from datbaser using LINQ class convert it to list students ID's
    var studentsList = DB.Students.ToList();

    //Databinding setup for the Student ID combo box
    cmbSTID.DisplayMember = "Name"; //Field name in Student class
    cmbSTID.ValueMember = "SID"; //Field name in Student class
    cmbSTID.DataSource = StudentIDs;
}

据我了解,在你的代码中 StudentIDs = StudentName,它既不是学生 ID 列表,也不是学生姓名列表,而是学生列表。假设您需要在文本框中显示第一个学生姓名,然后尝试 textBoxName.Text = StudentIDs.First().Name