2009-12-30 113 views
2

我有這個代碼從一個Alleged Perpetrator表中返回一個caseID。該表還有一列「LastName」。我想搜索caseID並返回LastName,但我不知道如何對其進行編碼。我一直在微軟網站上尋找LINQ to SQL的例子,但仍然無法弄清楚。任何幫助將不勝感激!Linq查詢問題

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); 
    } 
} 

回答

6

盡頭應該是:

。 。 。 select s.LastName);

編輯

艾哈邁德的建議和吉榮的修復:

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); 
    } 
} 
+4

另外,該方法的返回類型的記錄將改爲'LastName'的類型,大概是'string' – 2009-12-30 17:06:43

+1

函數類型不應該是字符串。它可以是IEnumerable ,也可以應用.First()返回。 – 2009-12-30 18:39:57

0

你從數據庫中使用Visual Studio的映射工具創建的LINQ to SQL類?

您可以添加一個'新項',然後根據您的數據庫模式添加一個LINQ to SQL類。該工具將爲您生成表格中的類。

然後,您可以使用這些代表您的數據庫列和表(每個表一個類)的類來使用LINQ。

如果你是谷歌的話,LINQ to SQL有一些很好的教程。

0
var perps = dataContext.AllegedPerpetrator.Where(p=>p.CaseID == caseIdValue) 
      .Select(p=>p.LastName) 

CaseIdValue是你在=

0

通過如果有且僅有一個用於給定的情況下,ID可以使用單一的表達

 
var lastName = dataContext.AllegedPerpetrator.SingleOrDefault(i => i.CaseID == caseId).LastName