我在尝试将linq查询的结果转换为单个对象时遇到了一些问题。我使用以下方法返回CodPromocion
,但它返回一个空结果。
public CodPromocion MostrarCodigoPromoByID(int id)
{
LaFidelitasExamenFinalEntities db = new LaFidelitasExamenFinalEntities();
CodPromocion codpromo = new CodPromocion();
try
{
codpromo =(CodPromocion)db.CodPromocions.Where(a => a.ID == id);
return codpromo;
}
catch
{
throw;
}
}
尽管如此,该方法可以执行它必须执行的操作,但它返回空。我已经检查过有该ID的记录。
答案 0 :(得分:0)
要从您的实体返回单个对象,您应该使用FirstOrDefault
codpromo = db.CodPromocions.FirstOrDefault(a => a.ID == id);
并且您无需调用new来初始化 codpromo
当然,如果没有通过该特定ID的实体,您仍然会得到 null 结果
最后请注意,如果您没有对异常做任何事情,只需重新抛出它,然后删除try / catch