首页 > 解决方案 > Aspnetboilerplate AbpEntities 的外部 POCO 类。即不可能继承

问题描述

我们有一个很常见的情况,我想了解 Aspnetboilerplate/AspNetZero.com 中的最佳实践或权衡以最好地处理这个问题。

我们导入纯 C# 类 (POCO) 的包 (NuGet)。这些在多个系统中共享。在我们的 AspNetZero 服务器中,我们希望这些是一流的持久对象。但是,它们不能从 Entity 继承,因为它们来自 Nuget。这里的最佳做法是什么?

迄今为止我的想法(当然不是这里的专家):

如果我们将这些类用作 Apb 实体中的 EF 导航属性,即始终将它们用作 Abp 实体类的复杂类型属性,则可以解决问题。在这种情况下,甚至不需要定义 DbSet,尽管可以(参见:https ://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with- ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

或者,如果我们只是从 Apb 实体中引用这些复杂类型,EF 不会为这些生成实体代理并自动将它们变成 EF 导航属性(请参阅:https ://blogs.msdn.microsoft.com/adonet/2009 /12/22/poco-proxies-part-1/)或者这不是默认 Abp 流的选项。我们希望避免过多的自定义代码(风险)。

通过委托还有其他方式吗?

感谢您提供任何提示/示例/信息!

标签: aspnetboilerplate

解决方案


推荐阅读