用linq查询填充对象

时间:2017-12-17 17:30:35

标签: c# entity-framework linq

我在尝试将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的记录。

1 个答案:

答案 0 :(得分:0)

要从您的实体返回单个对象,您应该使用FirstOrDefault

codpromo = db.CodPromocions.FirstOrDefault(a => a.ID == id);

并且您无需调用new来初始化 codpromo
当然,如果没有通过该特定ID的实体,您仍然会得到 null 结果 最后请注意,如果您没有对异常做任何事情,只需重新抛出它,然后删除try / catch