私は2つのテーブル(tbPersonとtbDataLog)を持っており、両方で特定の条件をチェックした後、1つのテーブル(tbPerson)からIDを返す必要があります。この後、この結果を別のクエリに渡す必要があります。私の最初のクエリはId(テーブルの主キー)を正常に返し、これらのIDを別のクエリに渡して、これらのIDに基づいてデータを返す必要があります。また、IQueryable型の基本オブジェクトを使用して、データをフェッチする特定の条件をチェックします。linq匿名の結果を別のクエリのiqueryableオブジェクトに渡します。
IQueryable<tbPerson> dataset
と私はIQueryableをから他への変更これを、それは、コードの他の部分を壊すだろうと)
私の最初のLINQ文のできない:私は私の結果にアクセス
public static IQueryable<LogResults> GetResultsForYes()
{
Databasename ents = new Databasename();
var ids = (from f in ents.tbPerson
join g in ents.tbDataLog
on f.InfoID equals g.RefId
where g.Tag == "subscribed" && g.OldValue == "No" && g.Action == "Modified"
select new LogResults { _LogID = f.Id }).OrderBy(x => x._LogID);
return ids;
}
public class LogResults
{
public int _LogID { get; set; }
}
この場所のようなものを私はすべてのIDをデバッガで見ることができます。
IQueryable<LogResults> log = GetResultsForYes();
これらのIDでtbPersonからレコードを取得しようとしたときに問題が発生しました。
dataset=log.where(x=>x._LogID != 0);
私はこのエラーを取得する:
Cannot implicitly convert type 'System.Linq.IQueryable' to 'System.Linq.IQueryable'. An explicit conversion exists(are you missing a cast)?
任意の提案や他のいくつかの良いアプローチは大歓迎です。