RavenDB.DependencyInjection 5.0.1

dotnet add package RavenDB.DependencyInjection --version 5.0.1                
NuGet\Install-Package RavenDB.DependencyInjection -Version 5.0.1                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块版本的 Install-Package
<PackageReference Include="RavenDB.DependencyInjection" Version="5.0.1" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件以引用包。
paket add RavenDB.DependencyInjection --version 5.0.1                
#r "nuget: RavenDB.DependencyInjection, 5.0.1"                
#r 指令可以在 F# Interactive 和 Polyglot Notebooks 中使用。将其复制到交互式工具或脚本的源代码中以引用包。
// Install RavenDB.DependencyInjection as a Cake Addin
#addin nuget:?package=RavenDB.DependencyInjection&version=5.0.1

// Install RavenDB.DependencyInjection as a Cake Tool
#tool nuget:?package=RavenDB.DependencyInjection&version=5.0.1                

RavenDB.DependencyInjection

用于在 ASP.NET Core 中使用 RavenDB 的依赖注入包。

此包允许您配置 RavenDB 的 DocumentStore 并在其依赖注入容器中创建一个单例。此外,您还可以配置一个 IAsyncDocumentSession (或其同步等效物)以便在每个作用域内创建。

入门教程

通过 NuGet 安装 RavenDB.DependencyInjection 库。

Install-Package RavenDB.DependencyInjection

用法

将 RavenSettings 部分添加到您的 appsettings.json 中

"RavenSettings": {
    "Urls": [
       "http://live-test.ravendb.net"
    ],
    "DatabaseName": "Demo",
    "CertFilePath": "",
    "CertPassword": ""
},

注意,CertFilePathCertPassword 都是可选的。如果您使用证书连接到数据库,则此路径应该是相对于内容根的相对路径。您的证书存储在代码外吗?请参阅 手动配置

然后在 Startup.cs 中,告诉 Raven 使用此数据库并将其添加到 DI 容器

public void ConfigureServices(IServiceCollection services)
{
    // 1. Add an IDocumentStore singleton. Make sure that RavenSettings section exist in appsettings.json
    services.AddRavenDbDocStore();

    // 2. Add a scoped IAsyncDocumentSession. For the sync version, use .AddRavenSession().
    services.AddRavenDbAsyncSession(); 
}

现在您可以通过控制器和服务注入 IDocumentStoreIAsyncDocumentSessionIDocumentSession。😎

配置 Raven 协议

您需要在 docStore.Initialize() 之前配置 RavenDB 协议或执行其他工作?这很简单

services.AddRavenDbDocStore(options => 
{
    options.BeforeInitializeDocStore = docStore => docStore.Conventions.IdentityPartsSeparator = "-";
}

手动配置

您的 Raven 信息存储在代码之外,例如环境变量或 Azure Key Vault?如果是这样,您可以像这样配置您的文档存储

services.AddRavenDbDocStore(options =>
{
    // Grab the DB name from appsettings.json
    var dbName = options.Settings.DbName;
    
    // But grab the cert and password from the cloud
    var certBytes = Convert.FromBase64String(...); // load the certificate from wherever
    var certPassword = ...; // grab the password from wherever
    options.Certificate = new X509Certificate2(certBytes, certPassword);
});

查看示例项目以查看全部功能。

产品 兼容以及额外的计算的框架版本。
.NET net8.0兼容。 net8.0-android已计算。 net8.0-browser已计算。 net8.0-ios已计算。 net8.0-maccatalyst已计算。 net8.0-macos已计算。 net8.0-tvos已计算。 net8.0-windows已计算。
兼容的目标框架
包含的目标框架(在包中)
更多关于目标框架.NET Standard的信息。

NuGet包 (6)

显示依赖RavenDB.DependencyInjection的Top 5 NuGet包

下载
RavenDB.Identity

简单的RavenDB身份验证提供程序,适用于ASP.NET Core。只需几行代码即可使用Raven存储您的用户和登录。

Dafitech.Common.Library

通用库具有处理Dafitech项目需求和编程风格的功能和方法。

Dafitech.Common.GlobalDomain

Dafitech通用全局域类和DTO

Dafitech.Common.DataAccess

Dafitech数据库访问类和方法。

BccPay.Core.DataAccess

包描述

GitHub仓库

该包没有任何流行的GitHub仓库使用。

版本 下载 最后更新
5.0.1 12,911 1/12/2024
5.0.0 303 1/12/2024
4.0.2 162,542 4/1/2021
4.0.1 806 3/30/2021
4.0.0 15,392 7/24/2020
3.1.0 11,037 11/13/2019
3.0.0 8,853 4/5/2019
2.0.3 7,041 3/11/2019
2.0.2 1,118 2/28/2019
2.0.1 1,829 2/28/2019
2.0.0 1,098 2/28/2019
1.0.0 2,023 6/28/2016
1.0.0-rc2 1,534 6/27/2016

.NET 8和Raven 6。