用linq查询填充对象

问题描述 投票:0回答:1

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

c# entity-framework linq
1个回答
0
投票

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

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

而且你不需要调用new来初始化codpromo 当然,如果没有通过该特定id的实体,您仍将获得null结果。 最后注意,如果你没有对异常做任何事情,只是重新抛出它,然后删除try / catch

© www.soinside.com 2019 - 2024. All rights reserved.