扩展编目模型(项目表)



我想用自己的模型扩展分类模型。我遵循了GitHub上的Cartmodule示例。我想我做了示例所拥有的所有部分,但是我仍然无法正常工作。

这是我做的项目:

  • 安装了virtocommerce.catalogmodule.data从nuget到我创建的模块。
  • 创建了一个继承Catalogproduct类的肌液类别。
  • 创建了继承效率的myproductentity类,我覆盖了Tomodel,FromModel和Patch函数。
  • 创建了MyProDuctRepositoty类,该类继承了CatalogrePositoryImpl,并覆盖了onModeLcreating函数,以告诉我要映射到哪个表。
  • 修改了Module.cs文件,并实现了setupDatabase(),initialize()和postInitialize()。

  • 这是我为initialize()

    提出的
    _container.RegisterType<ICatalogRepository>(new InjectionFactory(c => new MyProductRepository(_connectionStringName, _container.Resolve<AuditableInterceptor>(), new EntityPrimaryKeyGeneratorInterceptor())));
    
  • 这是我为initialize()

    提供的内容
    AbstractTypeFactory<CatalogProduct>.OverrideType<CatalogProduct, MyProduct>();
    AbstractTypeFactory<ItemEntity>.OverrideType<ItemEntity, MyProductEntity>();
    
  • 重建我的模块,然后重新启动IIS

  • 我击中了localhost/admin/docs/virtocommerce.catalog/v1,以查看我添加到模型返回的字段是否从产品定义返回。不是。

我缺少一些步骤吗?我实际上使迁移工作。它实际上在数据库中创建了" MyProduct"表。

另一个问题是,在现有的"项目"表中添加列是一个好主意吗?还是建议在扩展域模型时创建一个新表?

谢谢大家!

您看不到API的变化的原因是,除了域模型目录模块外,还使用Web模型 - 例如。对于产品,并且API控制器返回这些Web模型对象。这就是与购物车模块的区别。

为了查看更改,您需要将扩展类型用于Web模型并扩展转换器。

您可以看到,目录模块扩展名在VC-Platform 2X版本中并不那么简单。通过消除Web模型,将在3X(Net Core)平台版本中缓解这。

在平台2x中扩展目录对象功能的内置方式更容易使用动态属性(在UI中,按代码)。

另一个问题是,将列添加到 现有的"项目"表?还是建议在 扩展域模型?

推荐的方法是创建新表。

相关内容

  • 没有找到相关文章

最新更新