我有这个代码从Alleged Perpetrator表返回一个caseID。该表还有一个“LastName”列。我想搜索caseID并返回LastName,但我不知道如何编写它。我一直在微软网站上寻找LINQ to SQL示例,但仍然无法弄明白。任何帮助将不胜感激!
肯
public static class AllegedPerpetratorRepository
{
public static IQueryable<AllegedPerpetrator> GetByCaseID(
this IQueryable<AllegedPerpetrator> source,
int caseID)
{
return (from s in source where s.CaseID.Equals(caseID) select s);
}
}
答案 0 :(得分:6)
最终应该是:
。 。 。 select s.LastName);
修改强>:
艾哈迈德的建议和Jeroen的解决方案:
public static class AllegedPerpetratorRepository
{
public static IEnumerable<string> GetByCaseID(
this IQueryable<AllegedPerpetrator> source,
int caseID)
{
return (from s in source where s.CaseID.Equals(caseID) select s.LastName);
}
}
答案 1 :(得分:0)
您是否使用Visual Studio映射工具从数据库创建了LINQ to SQL类?
您可以添加“新项目”,然后根据数据库架构添加LINQ to SQL类。该工具将为您生成表格中的类。
然后,您可以使用这些表示数据库列和表(每个表一个类)的类来使用LINQ。
如果你谷歌的话,有一些关于LINQ to SQL的好教程。
答案 2 :(得分:0)
var perps = dataContext.AllegedPerpetrator.Where(p=>p.CaseID == caseIdValue)
.Select(p=>p.LastName)
CaseIdValue是你传递的内容=
答案 3 :(得分:0)
如果给定案例ID只有一条记录,则可以使用单一表达式
var lastName = dataContext.AllegedPerpetrator.SingleOrDefault(i => i.CaseID == caseId).LastName