MS EntityFramework:如何通过继承分割实体?

发布于 2024-11-25 15:35:35 字数 559 浏览 3 评论 0原文

我在数据库中有表名 Transaction 。我想要有 2 个子类 TransactionA 和 TransactionB。我已按照此处所述进行制作: http://www.robbagby.com/entity-framework/entity-framework-modeling-table-per-hierarchy-inheritance/comment-page-1/#comment-607

正如我使用我生成的自我跟踪实体的 T4 模板。

一切都很好,但有一件事。我可以看到生成的实体 TransactionA 和 TransactionB,但在上下文对象 (ObjectContext) 中看不到它们。正常吗?如果是这样,如果只有 Transaction 类可访问,我如何使用上下文从表中获取 TransactionB?

谢谢

I have table name Transaction in the DB. I want to have 2 subclasses TransactionA and TransactionB. I've made it as described here: http://www.robbagby.com/entity-framework/entity-framework-modeling-table-per-hierarchy-inheritance/comment-page-1/#comment-607

As I use T4 templates I've generated self-tracking entities.

Everything is okay but one thing. I can see generated entities TransactionA and TransactionB but I cannot see them in the context object (ObjectContext). Is it normal? If so, how could I get TransactionB from the table using context if only Transaction class is accessible?

Thanks

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

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

发布评论

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

评论(1

全部不再 2024-12-02 15:35:35

这正如预期的那样。事务 A 和 B 派生自基类事务。在您的实体模型中,您可以通过事务集合访问它们,如下所示:

Context context = new Context();
List<TransactionB> list = context.Transactions.OfType<TransactionB>().ToList();

This is as expected. Transaction A en B derive from the baseclass Transaction. In your entity model you can access them through the collection of Transactions like this:

Context context = new Context();
List<TransactionB> list = context.Transactions.OfType<TransactionB>().ToList();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文