こんにちは私は何をしようとしていますか?SYSID
の入力に基づいて、テスト目的のためだけにテーブルから名前のリストを見つけます。テーブルモデルとコントローラを使用したMVCモデルコーディング
モデル:
public DbSet<firsttest> firsttests { get; set; }
表:
[Table("FirstTest")]
public class firsttest
{
public firsttest(){}
[Column("sysId")]
public long SysId { get; set; }
public string Name { get; set; }
}
コントローラー:
[Authorize]
[Route("api/FirstTest/{SysId}")]
public List<String> Name(long SYSID)
{
using (AContext db = new AContext())
{
var query = db.firsttests.Where(a => 1 == 1);
if (!String.IsNullOrEmpty(SYSID.ToString()))
{
query = query.Where(a => a.SysId.Equals(SYSID)).Select(a => a.Name);
}
return query.ToList();
}
}
エラー:暗黙的にSystem.Linq.Iqueryable(文字列)をSystem.Linq.Iqueryable(Model.firsttest)に変換できません
コードの変更方法はありますか?
となる異なるタイプのクエリ参照を割り当てることができません。したがって、 'return'行の後に' select'を追加するだけですか?明示的にIQueryableからIQueryable に変換する必要のある明示的な変換方法はありますか? –
LONG
あなたはそれを変数に選択して保持し、戻ったり、単純に1行で実行したりできます。最終的にコンパイラは最適化し、1つのライナによって生成されたコードのようなコードを生成します。 – Shyju
あなたのコードは完全に私のために説明しています、ちょうど興味があり、この行に対して明示的な変換はありませんか? 'query = query.Where(a => a.SysId.Equals(SYSID))。Select(a => a.Name)'は、IQueryableをIQueryable に変換しますか? –
LONG