Skip to content

Commit a9eb9af

Browse files
committed
feat(数据库): 增加时区时间记录配置选项
- 在 DbOptions 中新增 IsUseTimeZone 属性,默认启用时区时间记录 - 在 MongoDbService.Open 方法中增加对 DbOptions 及其属性的空值检查 - 保存 DbOptions 实例以供后续使用
1 parent 3cfb42e commit a9eb9af

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

GameFrameX.DataBase.Mongo/MongoDbService.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public sealed partial class MongoDbService : IDatabaseService
5252
/// </summary>
5353
public IMongoDatabase CurrentDatabase { get; private set; }
5454

55+
private DbOptions _dbOptions;
5556
private MongoDbContext _mongoDbContext;
5657

5758
/// <summary>
@@ -61,10 +62,12 @@ public sealed partial class MongoDbService : IDatabaseService
6162
/// <returns>返回数据库是否初始化成功</returns>
6263
public async Task<bool> Open(DbOptions dbOptions)
6364
{
65+
ArgumentNullException.ThrowIfNull(dbOptions, nameof(dbOptions));
66+
ArgumentNullException.ThrowIfNull(dbOptions.ConnectionString, nameof(dbOptions.ConnectionString));
67+
ArgumentNullException.ThrowIfNull(dbOptions.Name, nameof(dbOptions.Name));
68+
_dbOptions = dbOptions;
6469
try
6570
{
66-
ArgumentNullException.ThrowIfNull(dbOptions.ConnectionString, nameof(dbOptions.ConnectionString));
67-
ArgumentNullException.ThrowIfNull(dbOptions.Name, nameof(dbOptions.Name));
6871
var settings = MongoClientSettings.FromConnectionString(dbOptions.ConnectionString);
6972
var db = await DB.InitAsync(dbOptions.Name, settings);
7073
_mongoDbContext = new MongoDbContext(dbOptions.Name);

GameFrameX.DataBase/Abstractions/DbOptions.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,9 @@ public sealed record DbOptions
5151
/// 数据库名称
5252
/// </summary>
5353
public string Name { get; init; }
54+
55+
/// <summary>
56+
/// 是否使用时区时间记录
57+
/// </summary>
58+
public bool IsUseTimeZone { get; init; } = true;
5459
}

0 commit comments

Comments
 (0)