使用 ModelDrivenControllerBase 调用 MDrivenEcoSpaceAndModelForNetStandard 时出现 ESType 错误

ESType error when ModelDrivenControllerBase is using to call MDrivenEcoSpaceAndModelForNetStandard

mvc 或 webapi netcore 项目中的代码 MyController:ModelDrivenControllerBase<EcoProject1EcoSpace> 显示错误 "the type 'MDrivenTemplateProj.EcoProject1EcoSpace' cannot be used as type parameter 'ESType' in the generic type or method 'ModelDrivenControllerBase<ESType>'. There is no implicit reference conversion from 'MDrivenTemplateProj.EcoProject1EcoSpace' to 'Eco.Handles.DefaultEcospace" + 对 add ref to the 'MDriven.Handles.netStandard, version=7.0.0.0, culture=neutral, publickeytoken=null' 的恼人请求。 (始终是 7.0.0.0 版本!
能否请您指教如何避免此类错误?
我正在尝试使用 NetFramework 4.x 开发引用 MDrivenEcoSpaceAndModelForNetStandard 项目的 webapi netcore 3.1 应用程序。经验.
似乎这是 netcore 项目的错误方式。
谢谢!

旧样式仍然有效:

  1. 参考您的 netcore webapi 中的 MDrivenEcoSpaceAndModelForNetStandard 项目
  2. 将 ControllerBase 作为您的 MVC 控制器的基础class
  3. 在控制器的构造函数中创建并激活新生态空间
_es = new MDrivenTemplateProj.EcoProject1EcoSpace();_es.Active = true;  
  1. 如果你想使用虚拟机,你可以调用 CreateFromViewModel 方法,例如
var vmc = Eco.ViewModel.Runtime.ViewModelHelper.CreateFromViewModel("SampleViewModel", this._es, null, false);  

MDrivenEcoSpaceAndModelForNetStandard 项目中仍然需要的手动修复:

  • EcoProject1EcoSpace.Designer.cs - this.persistenceMapperSharer1.MapperProviderTypeName 自动生成的值不正确
  • EcoProject1PMP.Designer.cs - this.EcoSpaceTypeName 自动生成的值不正确
  • 准备好你在 VS EcoProject 建模器中的构建在上述修复后将无法启动持久性。它会显示“找不到合适的构造函数”消息

针对 .netStandard2.1 和 .net5 的 nuget 上全新的 MDriven 包现已可用。 它们有正确的构建版本号,并且比旧的 Eco 包更精细。

https://wiki.mdriven.net/index.php/MVC

https://www.nuget.org/packages?q=MDriven*