从 c# 中的另一个类获取对象 ID
本文关键字:获取 取对象 ID 另一个 | 更新日期: 2023-09-27 18:34:45
为什么我在这个问题上出现错误?我想要流派的ID...在数据库中,游戏表具有流派表中的外键genre_id。
public List<Game> GetGames()
{
List<Game> games = new List<Game>();
try
{
conn.Open();
string selectQuery = "select * from game";
MySqlCommand cmd = new MySqlCommand(selectQuery, conn);
MySqlDataReader dataReader = cmd.ExecuteReader();
while (dataReader.Read())
{
string gameNaam = dataReader.GetString("gamenaam");
int gameId = dataReader.GetInt32("game_id");
int genreId = dataReader.GetInt32("genre_id");
Game game = new Game { ID = genreId, game.Genre.ID = genreId, Naam = gameNaam};
games.Add(game);
}
}
catch (Exception e)
{
Console.Write("Ophalen van genres mislukt " + e);
}
finally
{
conn.Close();
}
return games;
}
}
我在这个-----> game.Genre.ID = 流派 ID 上收到一个错误
代码类型和游戏:
public class Game
{
public String Naam { get; set; }
public Genre Genre { get; set; }
public int ID { get; set; }
public override string ToString()
{
return String.Format("{0} (id = {1})", Naam, ID);
}
}
public class Genre
{
public string Naam { get; set; }
public bool Verslavend { get; set; }
public int ID { get; set; }
public override String ToString()
{
return String.Format("{0} ({1})", Naam,
Verslavend ? "Verslavend" : "Niet verslavend");
}
}
这是无效的语法:
new Game { ID = genreId, game.Genre.ID = genreId, Naam = gameNaam};
^--- here
game
在那种情况下是不存在的。 也不能像这样在属性初始值设定项中设置子属性。
如果要设置 Genre
属性,则必须单独设置它。 像这样:
new Game {
ID = genreId,
Genre = new Genre {
ID = genreId
},
Naam = gameNaam
};