【问题标题】:DbProviderFactory implementation for MongoDBMongoDB 的 DbProviderFactory 实现
【发布时间】:2020-08-11 09:29:30
【问题描述】:

.Net Core 中的 DbProviderFactory 的实现是否适用于 MongoDB?

【问题讨论】:

  • 我没见过,但它似乎是错误的抽象。
  • 感谢您的回复,凯文。你能更多地解释一下你的意思是错误的抽象吗?也许我走错了路?
  • DbCommand、DbConnection、DbDataAdapter 等都是基于关系型 SQL 数据库的 - 参见 DbCommand 的描述docs.microsoft.com/en-us/dotnet/api/…
  • ... 而且您不使用 SQL 来处理 MongoDB。请参阅 docs.mongodb.com/drivers/csharp 了解使用 MongoDB 的类型安全方式。
  • 谢谢!所以我使用 DbProviderFactory 作为一般访问多种数据库类型的一种方式。是否有 NoSQL 数据库的等价物,以便我可以支持 MongoDB、Cassandra 等?

标签: c# database mongodb .net-core


【解决方案1】:

DbProviderFactory 用于为关系 SQL 数据库创建数据库提供程序,因为 MongoDB 是一个文档数据库,它并不真正适合模型。

如果您需要与数据库无关,我会亲自为您对数据所做的事情创建自己的抽象层,然后实现我们的每个数据库提供程序。

例如:


interface IMyDataStore
{
    List<Data> GetAllData();
    UpdateField1(string field1);
}

class MongoMyDataStore : IMyDataStore
{
    // MonogDb stuff
}

class DbProviderDataStore : IMyDataStore
{
    // Things that use DbProvider
}

【讨论】:

    猜你喜欢
    • 2010-11-28
    • 1970-01-01
    • 2013-09-18
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 2018-08-20
    相关资源
    最近更新 更多