C#プログラムでLINQを使用してデータベースから情報を取得しようとしています。私は基本的な高度なクエリを示す例をたくさん見つけましたが、ビルドしようとするとエラーが発生します。 LINQlinqデータベースモデルからデータを取得する方法
public class StdFy
{
public object GetStdFy(DrillholeEntities ddb)
{
try
{
var myList = ((from t1 in ddb.DTM_QAQC_BLK_STD from t2 in ddb.DTM_STANDARDSASSAY.Where(x=> t1.STANDARDID==x.STANDARDID && t1.ASSAYVALUE==x.STANDARDVALUE)
select new
{
CHECKID = t1.CHECKID,
STANDARDID = t1.STANDARDID,
PRIORITY = t1.ASSAY_PRIORITY,
NAME = t1.ASSAYNAME,
ASSAYVALUE = t1.ASSAYVALUE,
STANDARDVALUE = t2.STANDARDVALUE,
STANDARDDEVIATION = t2.STANDARDDEVIATION,
NORMALIZACION = (t2.STANDARDVALUE- t1.ASSAYVALUE)/ t2.STANDARDDEVIATION,
LABJOBNO = t1.LABJOBNO,
LOADDATE = t1.RETURNDATE
})).OrderBy(x => x.LOADDATE).ToList();
return myList;
}
catch (Exception)
{
throw new NotImplementedException();
}
}
}
、その後
DrillholeEntities ddb;
StdFy stdFy = new StdFy();
using (ddb = new DrillholeEntities())
{
IOrderedEnumerable<DTM_QAQC_BLK_STD> datosTodos;
datosTodos = stdFy.GetStdFy(ddb);
}
で クラスを、私はプロジェクトをbuuildとき、私はエラーに
重大度コード説明プロジェクトファイルの行を取得する:下の基本的なLINQの例を参照してください。 Suppression State エラーCS0266 'オブジェクト'の型を暗黙的に 'System.Linq.IOrderedEnumerable'に変換できません。 明示的な変換が存在する(?あなたは キャストが欠落している)Inspinia_MVC5 C:プロジェクト\ MVC5_Full_Version \ Inspinia_MVC5 \コントローラ\ Visual Studioの 2015 \ \ Users \ユーザーchachl9 \ドキュメント\ GraphsController.cs 55アクティブ
問い合わせから返されるタイプは匿名です。これは 'DTM_QAQC_BLK_STD'にキャストできません。クエリを変更する必要があります: 'select new DTM_QAQC_BLK_STD {...}'。 – JohnyL
しかし私は私のクエリで2つのテーブルを持っていますが、私はiaを実行するだけでDTM_QAQC_BLK_STDを使用して変更するとエラーが発生します –
DTM_QAQC_BLK_STDが必要です。 – JohnyL