2016-04-02 36 views
0

SQLクエリからLinqクエリを取得しようとしています。 SQLクエリは次のとおりです。SQLからLinqクエリを取得する

Select * from EMP where Salary = (Select Max(Salary) from EMP) 

私は、LINQクエリを作成しているが、それは全く動作しません:

var result = emps.where(emp => emp.Salary == emps.Max(emp.sal)); 

どのように私はこの問題を解決する必要がありますか?

+0

'='の代わりに '=='を使用するべきですか? –

+0

@YacoubMassad、正しい - コードをコピーしている間違い:私は "==" not "="ということに言及していた – Ganjira

+0

また、 'Max'は' emp => emp.Salary'のようなラムダ式を取っています –

答えて

0

はこれを試してみてください:

var maxsal = emps.Max(emp => emp.sal); 
var result = emps.Where(e => e.sal == maxsal); 
+0

SQLクエリーに役立ちます:empからMAX(Salary)を選択してください。 – Ganjira

+0

こんにちは私は私の答えを編集しました。 –

+0

こんにちは!手伝ってくれてありがとう! //あなたの列はどういう意味ですか? – Ganjira

0

あなたは、単一のLINQクエリとしてそれをしたいと仮定すると、私は、これはあなたが後にしている何だろうと思う:

var result = emps 
    .Select(e => new { Emp = e, Max = emps.Max(_ => _.Salary)}) 
    .Where(e => e.Max == e.Emp.Salary) 
    .Select(e => e.Emp); 

**更新**

var result = emps 
    .Where(e => emps.Max(_ => _.Salary) == e.Salary); 

があなたのORIGと間違って何か他のものがありました: あなたは実際には単一の文でそれを行うことができますインラルシナリオ?

関連する問題