实体框架OfType()动态

问题描述 投票:3回答:2

你怎么做:

Type ty = Type.GetType("Student");
var students = db.People.OfType(ty);

以某种方式工作?

为什么?

我只以人/学生为例,这里有一个更详细的解释,说明我为什么要这样做。

我希望能够将邮政地址信息存储在与特定文化相关的关系结构中。我的想法是有一个基本类型:“地址”和它的继承类型,例如:“UK_Address”。那么我的“人物”实体就会有一个“地址”参考。我将特定地址类型的名称存储为Person类型中的字符串,并使用此名称来指示程序与地址交互时的行为。

如果这是有道理的!? :■

c# entity oftype
2个回答
0
投票

如果您正在寻找答案:

Type ty = ...
var students = db.People.OfType<ty>(); //Doesn't work, see below

然后我认为没有反思就行不通。看到

IQueryable OfType<T> where T is a runtime Type


-1
投票
Type ty = typeof(Student); // tyopeof() is "safer" than Type.GetType()
var students = db.People.Where(x=>ty.IsAssignableFrom(x.GetType()));
© www.soinside.com 2019 - 2024. All rights reserved.