我在兩個表格遊戲和角色之間有多對多的關係。將表與實體框架進行映射時,表示表關係的表未映射。 目前我正試圖從數據庫中使用LINQ提取特定遊戲下的所有遊戲角色,但我正在爲我的方法的返回類型而苦苦掙扎。查詢與linq c的多對多關係#
有沒有不同的解決方案,我目前試圖用我的代碼實現?
public List<Game> GetGamesRole(int? gameID)
{
using (DbContext db = new DbContext())
{
if (!gameID.HasValue && !roleID.HasValue)
{
var query = from game in db.Game select game;
_games = query.ToList();
return _games;
}
else if (gameID.HasValue)
{
var query = db.Game.Join(db.Role, game => game.ID, role => role.ID,
(game, role) => new { Game = game, Role = role }).Where(gameRole => gameRole.Game.ID == gameID).ToList();
_games = query.ToList<Game>();
}
}
}
我的遊戲類包含角色列表,是的。我想你的建議,但我不知道這是正確的做法,因爲我似乎並沒有得到角色 'VAR QUERY1 = db.Game.Include(「角色」)。如果(x => x.ID == gameID).ToList(); _games = query1.ToList(); return _games;' –
嘗試使用允許指定lambda的Include重載,這會使查看任何錯誤變得更容易。我認爲包含參數需要是屬性的名稱,所以如果屬性名稱是「角色」。但是,再次使用lambda會迫使你正確地做到這一點。 –
我試圖使用這一行代碼,但仍然不返回角色 var query1 = db.Game.Where(x => x.ID == gameID).Include(g => g.Role).ToList( )' –