Devlooped.TableStorage.Bson 5.2.0

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

// Install Devlooped.TableStorage.Bson as a Cake Tool
#tool nuget:?package=Devlooped.TableStorage.Bson&version=5.2.0                

用于文档型存储库的BSON二进制序列化程序。

使用方法

  var repo = DocumentRepository.Create<Product>(..., serializer: BsonDocumentSerializer.Default);

文档存储

DocumentRepository.CreateDocumentPartition.Create 工厂方法提供对基于文档的存储的访问权限,公开类似列存储的API。

文档存储库将实体持久化为一个单一的文档列,同时附带类型和版本信息以处理应用程序级别的版本控制系统。

API与基于列的存储库(文档存储库实现了相同的底层 ITableStorage 接口)大致相同。

public record Product(string Category, string Id) 
{
  public string? Title { get; init; }
  public double Price { get; init; }
  public DateOnly CreatedAt { get; init; }
}

var book = new Product("book", "9781473217386")
{
    Title = "Neuromancer",
    Price = 7.32
};

// Column-based storage
var repo = TableRepository.Create<Product>(
    CloudStorageAccount.DevelopmentStorageAccount,
    tableName: "Products",
    partitionKey: p => p.Category,
    rowKey: p => p.Id);

await repo.PutAsync(book);

// Document-based storage
var docs = DocumentRepository.Create<Product>(
    CloudStorageAccount.DevelopmentStorageAccount,
    tableName: "Documents",
    partitionKey: p => p.Category,
    rowKey: p => p.Id
    serializer: [SERIALIZER]);

await docs.PutAsync(book);

如果没有提供,序列化程序默认为基于 System.Text.JsonDocumentSerializer.Default

以下为Azure Storage Explorer中的存储截图,可看到存储结果的不同。

Screenshot of entity persisted with separate columns for properties

Screenshot of entity persisted as a document

文档表中的 Type 列表示持久化实体的 Type.FullName,而 Version 则表示其程序集的 [主版本].[次版本],这可以在高级数据迁移场景中使用。主版本和次版本组件也作为单独的列提供,以便通过 IDocumentRepository.EnumerateAsync(predicate) 方便地对各种版本范围进行查询。

赞助商

Clarius Org Kirill Osenkov MFB Technologies, Inc. Stephen Shaw Torutek DRIVE.NET, Inc. Ashley Medway Keith Pickford Thomas Bolon Kori Francis Toni Wenzel Giorgi Dalakishvili Uno Platform Dan Siegel Reuben Swartz Jacob Foshee alternate text is missing from this package README image Eric Johnson Ix Technologies B.V. David JENNI Jonathan Oleg Kyrylchuk Charley Wu Jakob Tikjøb Andersen Seann Alexander Tino Hager Mark Seemann Ken Bonny Simon Cropp agileworks-eu sorahex Zheyu Shen Vezel ChilliCream 4OTC

赞助这个项目  

了解更多关于 GitHub 赞助信息

产品 兼容性和额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard2.0 兼容。 netstandard2.1 已计算。
.NET Framework net461 已计算。  net462 已计算。  net463 已计算。  net47 已计算。  net471 已计算。  net472 已计算。  net48 已计算。  net481 已计算。 
MonoAndroid monoandroid 已计算。 
MonoMac monomac 已计算。 
MonoTouch monotouch 已计算。 
Tizen tizen40 已计算。  tizen60 已计算。 
Xamarin.iOS xamarinios 已计算。 
Xamarin.Mac xamarinmac 已计算。 
Xamarin.TVOS xamarintvos 已计算。 
Xamarin.WatchOS xamarinwatchos 已计算。 
兼容的目标框架
包含的目标框架(在包中)
更多关于 目标框架.NET Standard 的信息。

NuGet 包

此包未被任何 NuGet 包使用。

GitHub 仓库

此包未被任何流行的 GitHub 仓库使用。

版本 下载 上次更新
5.2.0 45 7/24/2024
5.2.0-rc.1 43 7/13/2024
5.2.0-rc 60 7/10/2024
5.2.0-beta 71 7/6/2024
5.1.2 113 1/25/2024
5.1.1 145 10/4/2023
5.1.0 154 8/11/2023
5.0.2 142 8/8/2023
5.0.1 147 7/25/2023
5.0.0 142 7/25/2023
4.3.1 158 7/24/2023
4.3.0 138 6/27/2023
4.2.1 176 4/17/2023
4.2.0 210 3/28/2023
4.1.3 285 1/20/2023
4.1.2 275 1/16/2023
4.0.0 383 8/26/2022
4.0.0-rc.1 93 8/26/2022
4.0.0-rc 133 8/15/2022
4.0.0-beta 150 5/17/2022
4.0.0-alpha 140 5/4/2022
3.2.0 523 12/13/2021
3.1.1 418 8/29/2021
3.1.0 386 8/13/2021
3.0.3 367 7/28/2021
3.0.2 349 7/1/2021
3.0.1 445 7/1/2021
3.0.0 393 7/1/2021
2.0.2 420 6/23/2021
2.0.1 410 6/17/2021
2.0.0 374 6/16/2021
1.3.0 376 5/31/2021