.Net System.invalidcastException Проблема, когда не нужно применять актерский составC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 .Net System.invalidcastException Проблема, когда не нужно применять актерский состав

Сообщение Anonymous »

У меня есть следующие модели: < /p>

Код: Выделить всё

    [Table("league_seasons")]
public class LeagueSeason
{
[Key]
[Column("league_season_id")]
public required int Id { get; set; }

[ForeignKey("League")]
[Column("league_id")]
public required int LeagueId { get; set; }

[ForeignKey("Season")]
[Column("season_id")]
public required int SeasonId { get; set; }

[Column("yahoo_league_season_id")]
public string? YahooLeagueSeasonId { get; set; }

[Column("num_teams")]
public required int NumTeams { get; set; }

[Column("num_playoff_teams")]
public int? NumPlayoffTeams { get; set; }

[Column("num_weeks")]
public required int NumWeeks { get; set; }

[Column("rivalry_weeks")]
public string? RivalryWeeks { get; set; }

[Column("nut_cup_week")]
public required int NutCupWeek { get; set; }

[Column("avg_points")]
public required double AvgPoints { get; set; }

[Column("avg_moves")]
public required double AvgMoves { get; set; }

[Column("completed")]
public required int Completed { get; set; }

[Column("create_date")]
public required DateTime CreateDate { get; set; }

[Column("modify_date")]
public required DateTime ModifyDate { get; set; }

// Relationships

public virtual required League League { get; set; }

public virtual required Season Season { get; set; }

public virtual required ICollection Teams { get; set; }
}
< /code>
и < /p>
    [Table("seasons")]
public class Season {
[Key]
[Column("season_id")]
public required int Id { get; set; }

[Column("yahoo_season_id")]
public int? YahooSeasonId { get; set; }

[Column("name")]
public required string Name { get; set; }

[Column("start_date")]
public required DateOnly StartDate { get; set; }

[Column("end_date")]
public required DateOnly EndDate { get; set; }

[Column("create_date")]
public required DateTime CreateDate { get; set; }

[Column("modify_date")]
public required DateTime ModifyDate { get; set; }

// Relationships

public virtual ICollection LeagueSeasons { get; set; }
}
< /code>
С следующим кодом: < /p>
int current_league_season_id = context.LeagueSeasons
.Include(ls => ls.Season)
.Where(ls => ls.LeagueId == selectedLeague)
.OrderByDescending(ls => ls.Season.Name)
.Select(ls => ls.Id)
.First();

Dictionary power_rankings = Calculations.CalculateLeaguePowerRankings(selectedLeague, context.LeagueSeasons.Find(current_league_season_id).Season.Name);
< /code>
Тем не менее, последняя строка этого кода бросает следующее исключение с отношением сезона в этом параметре метода: < /p>

System.invalidcastException: «Невозможно разыграть объект типа 'System.int32' type 'System.String'. '< /P>
< /blockquote>
Когда я добавляю следующий код : < /p>
int current_season_id = context.LeagueSeasons
.Include(ls => ls.Season)
.Where(ls => ls.Id == current_league_season_id)
.Select(ls => ls.SeasonId)
.First();

Season current_season = context.Seasons.Find(current_season_id);
оба current_league_season_id и current_season_id возвращают допустимые идентификаторы целых чисел с помощью записей, которые можно найти в базе данных. Кроме того, current_season_id является secorid_id , связанный с моим тестом current_league_season_id .
Я попытался изменить запрос Current_Season для использования. Где (. ..). Firstordefault () вместо .find () , но результаты одинаковы.

Подробнее здесь: https://stackoverflow.com/questions/794 ... be-applied
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»