在linq中选择更新模式下的记录

本文关键字:记录 模式 更新 linq 选择 | 更新日期: 2023-09-27 18:25:12

我用它来选择记录

public IEnumerable<Employee> SelectEmployeeById(int id)
{
  DataClassesHrPortalDataContext dc1 = new DataClassesHrPortalDataContext(dbConnStr);
  System.Data.Linq.Table<Employee> location = dc1.GetTable<Employee>();
  return dc1.Employees.Where(a => a.emp_id == id);
}

但是如何在
中检索记录但是我如何在文本框中填写记录

private void fillsalarydetail()
{
  PioneerDataAccess.EmployeeClass empcls = new PioneerDataAccess.EmployeeClass();
  var obj = empcls.SelectEmployeeById(3);
  //I am not able to do this
  txtSalEmpName.Text=obj.
  txtsalempcode.Text=
}

在linq中选择更新模式下的记录

由于linq的执行不同请使用tolist方法,然后获取读取数据将完成任务

var obj = empcls.SelectEmployeeById(3).ToList(); 
textvox.Text= obj[0].Nameofproperty;

.其中扩展Method返回IEnumerable List。所以从列表中获取顶部元素或单个元素。

EmployeeClass Emp  = empcls.SelectEmployeeById(3).ToList();  
if(listofEmp.Count() > 0)
{
EmployeeClass obj = listofEmp[0]; 
or 
EmployeeClass obj = listofEmp.Top(1);
or 
EmployeeClass obj = listofEmp.Single();
//then assign your values to testbox use class properties as:
txtSalEmpName.Text=obj.Name;
txtsalempcode.Text= obj.code;
}

你可以这样做:

EmployeeClass Emp  = empcls.SelectEmployeeById(3).SingleOrDefault();
if(Emp != null)
{
txtSalEmpName.Text=obj.Name;
txtsalempcode.Text= obj.code;
}