我有以下类层次结构:
public class RealPeople { }
public class Users : RealPeople { }
public class People : RealPeople { }
在我的 dbContext 中,我为RealPeople
OnModelCreating 过程定义了一个 dbSet,我为 People 和 Users 指定了单独的表:
modelBuilder.Entity<Users>().ToTable("Users");
modelBuilder.Entity<People>().ToTable("People");
这将在我的数据库中创建相应的完整层次结构,其中包含 3 个相应的表。当我想检索Users
我的数据库中的列表时,问题就来了。这个:
List = (from Reg in PersistentMgr.RealPeople select (Users)Reg)
.ToList();
或这个:
List = (from Reg in PersistentMgr.RealPeople select (Users)((RealPeople)Reg))
.ToList();
抛出异常:
LINQ 只能转换原始模型类型。
所以问题是,我不能将 RealPeople 转换为相应的子类用户。关于这个有什么想法吗?