2

私は、加害者の疑いのあるテーブルから 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); 
    }
}
4

4 に答える 4

6

最後は次のようになります。

. . .select s.LastName);

編集

Ahmed の提案と 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); 
    }
}
于 2009-12-30T17:01:12.640 に答える
0

指定されたケース ID のレコードが 1 つだけの場合は、Single 式を使用できます

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

于 2009-12-30T18:22:47.750 に答える
0
var perps = dataContext.AllegedPerpetrator.Where(p=>p.CaseID == caseIdValue)
            .Select(p=>p.LastName)

CaseIdValue はあなたが渡すものです =

于 2009-12-30T17:03:54.247 に答える
0

Visual Studio マッパー ツールを使用して、データベースから LINQ to SQL クラスを作成しましたか?

「新しい項目」を追加してから、データベース スキーマに基づいて LINQ to SQL クラスを追加できます。このツールは、テーブルからクラスを生成します。

次に、データベースの列とテーブルを表すこれらのクラス (テーブルごとに 1 つのクラス) を使用して、LINQ を使用できます。

グーグルで検索すると、LINQ to SQL に関する優れたチュートリアルがいくつかあります。

于 2009-12-30T17:01:42.017 に答える