0
데이터베이스, 역할 및 플레이어 데이터베이스에 세 개의 테이블이 있습니다. 게임과 역할 사이에는 역할과 플레이어간에 많은 관계가 있습니다. 나는 또한 게임과 플레이어 사이에 일대일 관계가 있습니다. Entity Framework를 사용하여 테이블을 매핑했습니다. 내가 얻으려고하는 것은 모든 player를 특정 gameID와 roleID 아래에 두는 것입니다.linq를 사용하여 여러 다 대다 관계 쿼리 #
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
정수 null이 될 수 없습니다 ... –
나는 선택적 매개 변수 및이 작동하도록 할 수있는 유일한 방법이 있습니다. –