これについて質問された多数の質問を経て、解決策を見つけようとしましたが運はありませんでした。ここに私の状況ですので:。LINQ JOINで2つの異なるデータコンテキストを使用するクエリ
private IQueryable<tblB> MT;
var IDs = (from z in db1.tblA
where z.TA == User.Identity.Name
select z).ToArray();
MT = from s in db2.tblB
join a in IDs on s.BP equals a.BP
select new tblB() { LastName = s.LastName});
return View(MT.ToPagedList(pageNumber, pageSize));
私はreturn文で例外を取得しています - $例外{ "タイプの定数を作成できません『TBLA』はプリミティブ型または列挙型はこのコンテキストではサポートされています。 "} System.NotSupportedException
ID配列をデバッグすると、tblAからのデータがあることがわかりますが、結合による2番目のクエリは機能していないようです。私は間違いをしています。助けて!!!そして、そのメモリ内のリストを使用
var IDs = (from z in db1.tblA
where z.TA == User.Identity.Name
select z.BP).ToArray();
:あなたが必要なプリミティブデータを返すために、最初のクエリを変更する、
まず:あなたが生成しIN
SQL句にするためにContains
を使用する必要が
db1.tblA.AsEnumerable()&db1.tblB.AsEnumerable()を使用しないでください。 – jdweng