c# Mongdb.Dynamic 方法缺少带有 upsert() 的异常

c# Mongdb.Dynamic Method Missing Exception with upsert()

我正在编写一个 asp.net MVC4 应用程序。我有几个 DAO 接口和 DTO 类,并想将这些 类 的实例插入到我的 mongo 数据库中。

我在控制台应用程序中尝试了以下操作并且有效:

Dynamic.Config.SetKeyName<IInventorySystem>(i => i.Id);
        Dynamic.Config.SetIndex<IInventorySystem>("idx_invSystem", false, i => i.Name);
        Dynamic.Config.SetKeyName<IContainer>(c => c.Id);
        Dynamic.Config.SetIndex<IContainer>("idx_Container", false, i => i.Name);
        Dynamic.Config.LoadCollection<IInventorySystem,IContainer>(i=>i.Containers,c=>c.InventorySystemId);
        Dynamic.Config.LoadFK<IContainer,IInventorySystem>(c=>c.InventorySystem,c=>c.InventorySystemId);
        Dynamic.Configure();
        var invSystems = Dynamic.GetCollection<IInventorySystem>();
        var containers = Dynamic.GetCollection<IContainer>();
        var invSystem = invSystems.New();
        invSystem.Name = "bla";
        invSystems.Upsert(invSystem);

但是 MVC 控制器中的相同代码不起作用,我收到以下错误:

"Method not found: 'MongoDB.Driver.SafeModeResult MongoDB.Driver.MongoCollection`1.Insert(System.__Canon)'."}

进一步隔离问题的方法不成功

连接到数据库 作品。已创建集合,但我无法在 mvc4 应用程序中保存。

研究

在我的研究中,我发现了很多缺失的方法问题,但是 none 与 mongodb.dynamic 有关 寻找 mongodb c# 驱动程序的问题可以找到类似的问题,但这些也不完全相同

为什么MongoDB而不是关系型DB?因为后面想给某个DTO添加键值对的字典。但最好先了解基础知识。

所以最后感谢阅读到最后,任何帮助将不胜感激,或者使用 mongo 的与 mvc 兼容的不同方法。

版本信息

MongoDb.Dynamic(与 nuget 一起安装)- 版本 1.1.1 MongoDb 官方 C# 驱动程序(与 nuget 一起安装)版本 1.10.0

MongoDB.Dynamic 大约 3 年没有更新了。这取决于驱动程序的旧版本。 mongocsharpdriver 在其 1.x 系列中不使用 semver,因此使用 1.10 版本的驱动程序没有 MongoDB.Dynamic.

使用的方法。