gpt4 book ai didi

c# - 使用 MongoDB(通过 C# 驱动程序)进行 CRUD 的首选方式是什么?

转载 作者:可可西里 更新时间:2023-11-01 10:01:33 25 4
gpt4 key购买 nike

我将把我的 Web 应用程序迁移到 MongoDB,我正在尝试感受在我的 C# 代码中使用 MongoDB C# 驱动程序的“正确方式”。

我来自 MS SQL 世界,在那里我只在处理 SQL Server 时使用存储过程,原因如下:

  1. SQL代码与C#代码完全分离

  2. 易于设置 SQL 访问安全性(您在存储过程级别执行)

  3. SQL 逻辑完全独立于 C# 逻辑。

出于同样的原因,我从未使用过 EF 或 LinqToSQL。

以下是我卷起袖子开始代码迁移之前试图了解的一些事情:

  1. 我是否需要使用某种包装器(我在中间层和对存储过程的低级 ADO.NET 调用之间使用自制的 OR 包装器;包装器创建在内部调用 SP 的 C# 函数)

  2. 我应该在存储过程的 leu 中使用 MongoDB 的 js 服务器端方法 - 同样,为了将 sql 逻辑与 c# 代码逻辑分开,或者我应该将所有逻辑移至 C# 并只对 MongoDB 执行简单的插入/更新

  3. 关于正确编写我的应用程序以使用 MongoDB 的任何其他建议

最佳答案

使用 MongoDB 的 C# 驱动程序处理 CRUD 操作的正常方法是使用 MongoCollection 的 Insert、Find、Update 和 Remove 方法。还有一个 Save 方法,它为新文档调用 Insert 并为现有文档调用 Update。

如果您希望在相当低的级别上工作,文档本身可以是 BsonDocument 的实例;如果您希望为您的域模型创建类,则文档本身可以是您自己的 C# 类的实例。 C# 驱动程序可以处理 C# 类与 BSON 文档之间的映射。

对于 MongoDB,您很少使用任何 Javascript 服务器端,因此实际上不需要任何与 SQL 存储过程等效的东西。您只需在 C# 中完成所有操作。

您可能决定创建一个数据访问层,但它会比您在 SQL Server 中使用的任何层都薄得多,因为 C# 驱动程序处理对象和 BSON 文档之间的映射。

关于c# - 使用 MongoDB(通过 C# 驱动程序)进行 CRUD 的首选方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5890182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com