0
我有三个表在我的数据库游戏,角色和播放器。在游戏和角色之间我有角色和玩家之间的多对多关系。我在游戏和玩家之间也有一对多的关系。我已经使用实体框架来映射我的表格。 我想要实现的是让所有玩家在特定的gameID和roleID下玩。查询与linq c的多对多关系#
public IList<Game> GetGamesRolePlayer(int? gameID, int? roleID)
{
using (DbContextdb = new DbContext())
{
db.Configuration.ProxyCreationEnabled = false;
if (gameID.HasValue && !roleID.HasValue)
{
var query1 = (from g in db.Game.Include(r => r.Role)
where g.ID == gameID
select g).ToList();
_games = query1;
return _games;
}
if (gameID.HasValue && roleID.HasValue)
{
var query2 = (from g in db.Game
from r in db.Role.Include(p => p.Player)
where g.ID == game && r.ID == roleID
select g).ToList();
_games = query2;
return _games;
}
var query = from game in db.Game select game;
_games = query.Include(r => r.Role).ToList();
return _games;
}
}
您需要玩家或游戏吗? – octavioccl
int不能为空... –
我有可选参数,这是我可以使它工作的唯一方法:) –