我用它来选择记录
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=
}
答案 0 :(得分:3)
由于 linq不同执行使用tolist方法而不是获取读取数据将为您完成任务
var obj = empcls.SelectEmployeeById(3).ToList();
textvox.Text= obj[0].Nameofproperty;
答案 1 :(得分:2)
.Where扩展方法返回IEnumerable List。所以获取Top元素或从列表中获取单个元素。
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;
}