У меня много проблем с моим JOIN, я не знаю, зависит ли это от EDM или это просто запрос LINQ.
выберите g.Id, g.Title, p.Platform_short из игр в качестве g оставленного внешнего объединения.но когда я пытаюсь перевести T-SQL в LINQ, с помощью этого:
Проблема, которую я получаю, заключается в том, что платформа == null
Я пробовал разные подходы, но затем получал дубликаты.
Я застрял с этой проблемой уже пару дней, и я новичок в EF.
var games = (from g in ctx.Games
join p in ctx.Platforms
on g.Platform.Id equals p.Id
select new
{
Id = g.Id,
Title = g.Title,
Platform = g.Platform,
});
Вот весь метод:
public ICollection<Game> GetGames()
{
using(xContext ctx = new xContext())
{
ICollection<Game> col = new Collection<Game>();
var games = (from g in ctx.Games
join p in ctx.Platforms
on g.Platform.Id equals p.Id
select new
{
Id = g.Id,
Title = g.Title,
Platform = g.Platform,
});
foreach (var g in games)
{
Game game = new Game();
game.Id = g.Id;
game.Title = g.Title;
game.Platform = g.Platform;
col.Add(game);
}
return col;
}
}
У моего GamePoco есть свойство Platform и отношения «один-к-одному» в EDM.
Надеюсь, что любой может помочь!