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

发布于 2024-11-05 03:45:11 字数 611 浏览 0 评论 0原文

我将把我的 Web 应用程序迁移到 MongoDB,并且我试图了解在我的 C# 代码中使用 MongoDB C# 驱动程序的“正确方法”。

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

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

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

  3. SQL 逻辑与 C# 逻辑完全分离。

    >

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

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

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

  2. 我是否应该在存储过程的 leu 中使用 MongoDB 的 js 服务器端方法 - 再次将 sql 逻辑与 C# 代码逻辑分开,还是应该将所有逻辑移至 C#只需对 MongoDB 进行简单的插入/更新

  3. 正确编程我的应用程序以与 MongoDB 一起使用的任何其他建议

I will be moving my web apps to MongoDB and I'm trying to get a feel of "the right way" of using MongoDB C# driver in my C# code.

I'm coming from MS SQL world where I am using stored procs only when dealing with SQL Server for the following reasons:

  1. SQL code is completely separated from C# code

  2. Easy to setup SQL access security (you do it on stored proc level)

  3. SQL logic is separate from C# logic completely.

For those same reasons I have never used EF or LinqToSQL.

Following are some things that I'm trying to understand before I roll teh sleeves and start code migration:

  1. Do I need to use some kind of wrapper (I am using a home-made OR wrapper between my middle tier and low level ADO.NET calls to stored procs; the wrapper creates C# functions which internally call SP's)

  2. Should I use MongoDB's js server-side methods in leu of stored procs - again, to separate sql logic from c# code logic or shoudl I move all logic to C# and just do simple inserts/updates to MongoDB

  3. Any other recommendations of correctly programming my applications for use with MongoDB

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱*していゐ 2024-11-12 03:45:11

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

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

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

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

The normal way CRUD operations are handled using the C# driver for MongoDB is to use the Insert, Find, Update and Remove methods of MongoCollection. There is also a Save method that calls Insert for a new document and Update for an existing document.

The documents themselves can either be instances of BsonDocument if you wish to work at a fairly low level, or instances of your own C# classes if you wish to create classes for your domain model. The C# driver can handle mapping C# classes to and from BSON documents.

With MongoDB you rarely use any Javascript server side, so there really is no need for anything equivalent to your SQL stored procs. You just do everything in C#.

You might decide to create a data access layer, but it will be much thinner than anything you might have used with SQL Server because the C# driver handles the mapping between objects and BSON documents.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文