Próbuję przypisać static List<PropertyInfo>
wszystkich właściwości DbSet
w klasie Entities
.Linq .Where (type = typeof (xxx)) porównanie jest zawsze fałszywe
Jednak po uruchomieniu kodu Lista jest pusta, ponieważ .Where(x => x.PropertyType == typeof(DbSet))
zawsze zwraca wartość false.
Próbowałem wiele odmian w metodzie .Where(...)
, takich jak typeof(DbSet<>)
, Equals(...)
, .UnderlyingSystemType
, itp., Ale żaden nie działa.
Dlaczego w moim przypadku .Where(...)
zawsze zwraca wartość false?
Mój kod:
public partial class Entities : DbContext
{
//constructor is omitted
public static List<PropertyInfo> info = typeof(Entities).getProperties().Where(x => x.PropertyType == typeof(DbSet)).ToList();
public virtual DbSet<NotRelevant> NotRelevant { get; set; }
//further DbSet<XXXX> properties are omitted....
}
'DbSet'! =' DbSet '... Powiedziałbym, że to jest problem –
@ClaudioRedi Tak, to był problem. Czy istnieją zasoby online, w których mogę odczytać różnice? – Tom