从类返回列表(实体框架)

时间:2019-03-19 00:34:21

标签: c# .net entity-framework

我正在使用Entity Framework编写应用程序,我想从表(champions)中返回列name-仅此列。

在业务层中,我使用方法loadchampions创建了一个类,以从表示层中调用它。这样,我从datagridview返回要显示在数据源中的值。

public List<Campeones> LoadChampions()
{
    using (NarachiContext NarachiCTX = new NarachiContext())
    {
        var champions = (from p in NarachiCTX.Campeones 
                         select p.Nombre).ToList();

        return champions;
    }
}

我收到一个错误,因为我要从字符串类型返回一个列表,而我想返回一个类型为class的列表(此类将是冠军)。因此,我认为我可以解决问题。基本上,我要显示“名称”列。

2 个答案:

答案 0 :(得分:2)

var champions = (from p in NarachiCTX.Campeones 
    select p.Nombre).ToList();

您正在明确地说出它来检索仅包含名称的List<string>。这就是select p.Nombre的意思:对于每个Campeones,请获取Nombre属性,并将其放入列表中。

如果您想返回List<Campeones>,那么您应该能够执行此操作:

return NarachiCTX.Campeones.ToList();

答案 1 :(得分:0)

我认为下面的代码将完全用于解决您的查询。

public List<champions> LoadChampions()
{
    using (NarachiContext NarachiCTX = new NarachiContext())
    {
        var champions = NarachiCTX.Campeones.Select(d => new champions
        {
           Name = d.Nombre
        }).ToList();
        return champions;
    }
}

在这里,您必须具有“ champions”类,该类具有字符串数据类型的属性“ Name”。

public class champions
{
     Public string Name;
}

我们正在返回“冠军”课程的列表。