0

2 つのテーブルに結合を適用してテーブルからデータを取得していますが、次のエラーが発生しています。

Error   40  The type of one of the expressions in the join clause is incorrect.  Type inference failed in the call to 'Join'.   C:\Documents and Settings\Ashir\My Documents\OpenLearningSolutions08-01-2013\OpenLearningSolutions\purchase.aspx.cs 70  21  C:\...\OpenLearningSolutions\

ここに私のコードがあります:

OLSContainer ols = new OLSContainer();
        var reSet = from l in ols.LEVEL_COURSE
                    join lp in ols.PACKAGES 
                    on new { l.course_ID, l.levelID } equals new { lp.course_ID, lp.level_ID }
                    select l;

4 つの列はすべて int nullabe 型ですが、このエラーが発生しています。親切に私を助けてください。

4

3 に答える 3

1

LINQ式では、メンバーの名前が異なるため、タイプが異なるため、C#は2つの間の共通のタイプを把握できません。

これを試して。

OLSContainer ols = new OLSContainer();
var reSet = from l in ols.LEVEL_COURSE
                join lp in ols.PACKAGES 
                on new { l.course_ID, l.levelID } equals new { course_ID = lp.course_ID, levelID = lp.level_ID }
                select l;
于 2013-01-11T08:02:22.117 に答える
1

この方法でテーブルからデータを選択することで問題を解決しました。

OLSContainer ols = new OLSContainer();
        var reSet = (from l in ols.LEVEL_COURSE
                    from p in ols.PACKAGES
                    where l.course_ID == p.course_ID && l.levelID == p.level_ID &&    l.course_ID==courseID
                    select new { l.levelID, l.levelName }).Distinct();
于 2013-01-12T06:16:07.473 に答える