在 DB 中,表 A 有员工名字、员工中间名、员工姓氏、urow。
在数据库中,表 B 有名字,中间名,姓氏,urow
urow 是一个字符串
需要写一个方法:
要搜索表 A 中的 urow,如果它存在,应从表 A 中返回该特定 urow 的员工名字、员工中间名和员工姓氏。
如果在表 A 中未找到 urow,则应在表 B 中搜索该 urow,如果可用,则应从表 B 中返回该特定 urow 的员工名字、员工中间名和员工姓氏。否则,如果 urow 不是在两个表中都可用,它应该返回空字符串。
public string SearchGurow (string gurow)
{
string Name;
using (var context = new cltransformationContext())
{
var firstname = context.tableA.FirstOrDefault(e => e.urow == gurow)?.EmployeeFirstName;
var middlename = context.tableA.FirstOrDefault(e => e.urow == gurow)?.EmployeeMiddleName;
var lastname = context.tableA.FirstOrDefault(e => e.urow == gurow)?.EmployeeLastName;
Name = firstname + middlename + lastname ;
return Name;
}
}
我只包括了 A 表。如何包含 B 表?此外,如果在 any 中找不到,则它应该为空。
试试这个查询:
public string SearchForGuid (string gurow)
{
using (var context = new cltransformationContext())
{
var query =
from a in context.tableA
where a.urow == gurow
from b in context.tableB
where b.urow == gurow
select new
{
EmployeeFirstName = a.EmployeeFirstName ?? b.EmployeeFirstName,
EmployeeMiddleName = a.EmployeeMiddleName ?? b.EmployeeMiddleName,
EmployeeLastName = a.EmployeeLastName ?? b.EmployeeLastName
}
var names = query.FirstOrDefault();
if (names == null)
return string.Empty;
return names.EmployeeFirstName + names.EmployeeMiddleName + names.EmployeeLastName;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句