如何显示实体框架数据库中的数据
本文关键字:数据库 框架 数据 实体 何显示 显示 | 更新日期: 2023-09-27 18:27:58
我在Database.cs中使用实体框架有两个表(Players
,Clubs
)。我想将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]
}
您可以在此处阅读更多关于懒惰评估(或延迟执行)的信息。