我在我的課上有一個linq查詢。當我嘗試返回一個或另一個結果時,編譯器會拋出一個與「匿名類型」相關的轉換類型錯誤,我發現它沒有解決方案。linq表達式(和匿名類型)的結果錯誤
這是我的代碼:
public static string VerificaExame(string desc)
{
var model = new ExameContext();
var res = model.DbExame.Where(exame => exame.Descricao.Trim() == desc.Trim()).Select(exame => new { Id = exame.Id, Codigo = exame.Codigo });
if (res == null)
res = model.DbExame.Where(exame => exame.Codigo.Trim() == desc.Trim()).Select(exame => new { Id = exame.Id, Descricao = exame.Descricao });
var ret = res.FirstOrDefault();
return JsonConvert.SerializeObject(ret);
}
和錯誤消息:
無效的匿名類型成員聲明。匿名類型成員必須聲明爲成員分配,簡單名稱或成員訪問權限。
此錯誤是指涉:
res = model.DbExame.Where(exame => exame.Codigo.Trim() == desc.Trim()).Select(exame => new { Id = exame.Id, Descricao = exame.Descricao });
是不是你的資源變量每次不同的對象返回? –
真的,res以前定義的成員不可以轉換或只讀。 – GustavoAdolfo