Tôi đang cố gán một thuộc tính static List<PropertyInfo>
của tất cả các thuộc tính DbSet
trong lớp Entities
.LINQ .Where (loại = typeof (xxx)) so sánh luôn sai
Tuy nhiên khi mã chạy Danh sách trống vì .Where(x => x.PropertyType == typeof(DbSet))
luôn trả về false.
Tôi đã thử nhiều biến thể trong phương pháp .Where(...)
như typeof(DbSet<>)
, Equals(...)
, .UnderlyingSystemType
, v.v. nhưng không có biến thể nào hoạt động.
Tại sao .Where(...)
luôn trả về false trong trường hợp của tôi?
Mã của tôi:
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 '... Tôi muốn nói đó là vấn đề –
@ClaudioRedi Vâng, đó là vấn đề. Có tài nguyên trực tuyến nơi tôi có thể đọc được sự khác biệt không? – Tom