如何显示实体框架数据库中的数据

本文关键字:数据库 框架 数据 实体 何显示 显示 | 更新日期: 2023-09-27 18:27:58

我在Database.cs中使用实体框架有两个表(PlayersClubs)。我想将web服务中的数据显示到控制台应用程序(客户端)中。

我想展示某个俱乐部的所有球员。

它看起来应该是这样的。

控制台应用程序弹出并显示:你想显示哪个俱乐部的球员

我输入:"洛杉矶湖人队"。

应用程序现在应该显示所有来自洛杉矶湖人队的球员。

这是我的代码:

[WebMethod]
public string playerClub(string clubName)
{
    using (var db = new Database())
    {
        string player = "";
        for (int i = 0; i < db.playerList.Count; i++)
        {
            if (db.playerList[i].Clubs == clubName)
            {
                player = player + "'n" + db.playerList[i].Name + db.seznamUporabnikov[i].LastName;
            }
        }
        return player;
    }
}

它给了我一个错误:

错误2运算符"<"不能应用于类型为"int"answers"method group"的操作数

你能帮我修改一下这个代码吗?

如何显示实体框架数据库中的数据

在if语句中,您分配了播放器的值,但似乎每次都要添加。因此,您可能会添加到现有字符串中,而不是将player设置为等于您获得的值。

当涉及到方法组时,此链接将在此处进行解释。

来自链接:

方法组是一组方法(可能只有一个)的名称,即理论上ToString方法可能有多个重载(加上任何扩展方法):ToString()、ToString(字符串格式)等,因此ToString本身就是一个"方法组"。

这很可能是因为db.playerList.Count不是一个属性,而是一个方法。这意味着playerList不是List<T>,而是其他类型,通常可以是IEnumerable<T>或。对于可枚举项,Count是一种方法,因此应该使用以下行:

 for (int i = 0; i < db.playerList.Count(); i++)

但这可能会不止一次枚举可枚举项,所以更好:

string result = ""; // changed the name of the variable 
                    // to better illustrate its purpose
foreach (var player in db.playerList)
{
    // use player instead of db.playerList[i]
}

您可以在此处阅读更多关于懒惰评估(或延迟执行)的信息。