2

on句で2つの条件を使用してテーブルを結合しようとしていますが、エラーが発生します

演算子&&は、byte型およびbyte型のオペランドには適用できません。

テーブルを結合するためにON句で複数の条件を使用するにはどうすればよいですか?

                    using (var db = new ReleaseInfo())
                {
                    lvReleaseInfo = (from r in db.ReleaseTranslations
                                     join c in db.Countries
                                     on r.SectionRelease.ReleaseCountryID equals c.CountryID && c.CultureID equals CultureID
                                     join pf in db.Platforms
                                     on r.SectionRelease.PlatformID equals pf.PlatformID && pf.PlatformID equals CultureID
                                     join pub in db.Publishers
                                     on r.SectionRelease.PublisherID equals pub.PublisherID && pub.CultureID equals CultureID
                                     where r.ReleaseID == SectionID && r.CultureID == CultureID
                }
4

1 に答える 1

1

等結合の両側に匿名タイプを作成できます。

lvReleaseInfo = (from r in db.ReleaseTranslations
                 join c in db.Countries
                 on new {CountryID = r.SectionRelease.ReleaseCountryID, CultureID} equals new {c.CountryID, c.CultureID}
                 join pf in db.Platforms
                 on new {r.SectionRelease.PlatformID, CultureID} equals new {pf.PlatformID, CultureID = pf.PlatformID}
                 join pub in db.Publishers
                 on new {r.SectionRelease.PublisherID, r.CultureID} equals new {pub.PublisherID, pub.CultureID}
                 where r.ReleaseID == SectionID && r.CultureID == CultureID
于 2013-03-21T01:53:09.703 に答える