检查父类型 TPT EF4

发布于 2024-11-06 09:55:41 字数 392 浏览 4 评论 0原文

我在 EF4 中有一个带有抽象基类的 TPT 场景。

我需要针对子类型集合编写一个 linq 查询,以从一种父类型的字段中获取值。

例如。

ThisChild = Children.Where(c. => c.Parent.OfType<Mother>.JewelleryCollection > 10).FirstOrDefault();

在本例中,Parent 是抽象类,而 Mother 是 Parent 的一种类型。 Mother 是唯一具有 JewelleryCollection 字段的类型。

上面的示例会中断,因为您无法使用 .OfType<>方法。我怎样才能最好地构建这个查询?

谢谢。

I have a TPT scenario in EF4 with an abstract base class.

I need to wite a linq query against a collection of children types to get the value from a field of one type of parent.

eg.

ThisChild = Children.Where(c. => c.Parent.OfType<Mother>.JewelleryCollection > 10).FirstOrDefault();

In this case, Parent is the abstract class with Mother being a type of Parent. Mother is the only type that has a JewelleryCollection field.

The example above breaks because you cannot use the .OfType<> method. How can I best structure this query?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仅一夜美梦 2024-11-13 09:55:41

因为您正在 ObservableCollection 上运行查询,所以它是 Linq-to-objects,您可以在其中简单地使用转换:

ThisChild = Children.FirstOrDefault(c => 
    (c.Parent is Mother) && (((Mother)c.Parent).JewelleryCollection > 10));

Because you are running the query on ObservableCollection it is Linq-to-objects where you can simply use conversion:

ThisChild = Children.FirstOrDefault(c => 
    (c.Parent is Mother) && (((Mother)c.Parent).JewelleryCollection > 10));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文