添加dao类

This commit is contained in:
zpc 2024-10-10 22:25:18 +08:00
parent 66201a8fc3
commit 977972b029
22 changed files with 161 additions and 33 deletions

View File

@ -1,7 +0,0 @@
namespace CloudGaming.Code
{
public class Class1
{
}
}

View File

@ -7,6 +7,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Model\CloudGaming.GameModel\CloudGaming.GameModel.csproj" />
<ProjectReference Include="..\..\Model\CloudGaming.Model\CloudGaming.Model.csproj" />
<ProjectReference Include="..\..\Utile\HuanMeng.DotNetCore\HuanMeng.DotNetCore.csproj" />
</ItemGroup>

View File

@ -0,0 +1,142 @@
using HuanMeng.DotNetCore.Base;
using HuanMeng.DotNetCore.MultiTenant.Contract;
using HuanMeng.DotNetCore.MultiTenant;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CloudGaming.GameModel.Db.Db_Ext;
using CloudGaming.GameModel.Db.Db_Game;
using CloudGaming.Model.DbSqlServer.Db_Phone;
using CloudGaming.Model.DbSqlServer.Db_User;
namespace CloudGaming.Code.DataAccess
{
/// <summary>
/// 数据库访问,开启事务只能一个库的开启
/// </summary>
public class DAO : DaoBase
{
//private IMultiTenantProvider _multiTenantProvider;
private ITenantInfo _tenantInfo;
/// <summary>
///
/// </summary>
public ITenantInfo TenantInfo
{
get
{
if (_tenantInfo == null)
{
this._tenantInfo = _serviceProvider.GetRequiredService<TenantInfo>();
}
return this._tenantInfo;
}
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="serviceProvider"></param>
public DAO(IServiceProvider serviceProvider) : base(serviceProvider)
{
this._tenantInfo = serviceProvider.GetRequiredService<ITenantInfo>();
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="serviceProvider"></param>
public DAO(IServiceProvider serviceProvider, ITenantInfo tenantInfo) : base(serviceProvider)
{
this._tenantInfo = tenantInfo;
}
#region
private EfCoreDaoBase<CloudGamingCBTContext>? _daoExt;
/// <summary>
/// 数据库[CloudGamingCBT]
/// 更新删除尽量只操作本bll实例dao获取到的对象取和存要同一个dao
/// </summary>
public EfCoreDaoBase<CloudGamingCBTContext> daoExt
{
get
{
if (_daoExt == null)
{
var dbContext = _serviceProvider.GetRequiredService<CloudGamingCBTContext>();
_daoExt = new EfCoreDaoBase<CloudGamingCBTContext>(dbContext);
_daoExt.context.TenantInfo = TenantInfo;
}
return _daoExt;
}
}
#endregion
#region
private EfCoreDaoBase<CloudGamingGameContext>? _daoGame;
/// <summary>
/// 数据库[CloudGamingGameContext]
/// 更新删除尽量只操作本bll实例dao获取到的对象取和存要同一个dao
/// </summary>
public EfCoreDaoBase<CloudGamingGameContext> daoGame
{
get
{
if (_daoGame == null)
{
var dbContext = _serviceProvider.GetRequiredService<CloudGamingGameContext>();
_daoGame = new EfCoreDaoBase<CloudGamingGameContext>(dbContext);
_daoGame.context.TenantInfo = TenantInfo;
}
return _daoGame;
}
}
#endregion
#region app配置
private EfCoreDaoBase<CloudGamingPhoneContext>? _daoPhone;
/// <summary>
/// 数据库[CloudGamingGameContext]
/// 更新删除尽量只操作本bll实例dao获取到的对象取和存要同一个dao
/// </summary>
public EfCoreDaoBase<CloudGamingPhoneContext> daoPhone
{
get
{
if (_daoPhone == null)
{
var dbContext = _serviceProvider.GetRequiredService<CloudGamingPhoneContext>();
_daoPhone = new EfCoreDaoBase<CloudGamingPhoneContext>(dbContext);
_daoPhone.context.TenantInfo = TenantInfo;
}
return _daoPhone;
}
}
#endregion
#region
private EfCoreDaoBase<CloudGamingUserContext>? _daoUser;
/// <summary>
/// 数据库[CloudGamingGameContext]
/// 更新删除尽量只操作本bll实例dao获取到的对象取和存要同一个dao
/// </summary>
public EfCoreDaoBase<CloudGamingUserContext> daoUser
{
get
{
if (_daoUser == null)
{
var dbContext = _serviceProvider.GetRequiredService<CloudGamingUserContext>();
_daoUser = new EfCoreDaoBase<CloudGamingUserContext>(dbContext);
_daoUser.context.TenantInfo = TenantInfo;
}
return _daoUser;
}
}
#endregion
}
}

View File

@ -64,7 +64,7 @@ namespace <#= NamespaceHint #>;
}
}
#>
public partial class <#= EntityType.Name #>: MultiTenantEntity
public partial class <#= EntityType.Name #>
{
public <#= EntityType.Name #>() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Ext;
/// <summary>
/// App配置
/// </summary>
public partial class T_Config: MultiTenantEntity
public partial class T_Config
{
public T_Config() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Ext;
/// <summary>
/// 图片列表
/// </summary>
public partial class T_Images: MultiTenantEntity
public partial class T_Images
{
public T_Images() { }

View File

@ -488,9 +488,6 @@ public partial class CloudGamingGameContext : DbContext
entity.ToTable(tb => tb.HasComment("用户分享游戏"));
entity.Property(e => e.Id).HasComment("自增");
entity.Property(e => e.AppId)
.HasDefaultValue(1)
.HasComment("AppId配置");
entity.Property(e => e.CreateTime)
.HasDefaultValueSql("(getdate())")
.HasComment("创建时间")

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 难度列表
/// </summary>
public partial class T_CGame_Difficultys: MultiTenantEntity
public partial class T_CGame_Difficultys
{
public T_CGame_Difficultys() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏中配置
/// </summary>
public partial class T_GameConfig: MultiTenantEntity
public partial class T_GameConfig
{
public T_GameConfig() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏多选保存1 游戏类型 2 游戏标签 3 游戏心得4 游戏介绍 5 游戏操作心得
/// </summary>
public partial class T_Game_ChildList: MultiTenantEntity
public partial class T_Game_ChildList
{
public T_Game_ChildList() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏多选保存1 游戏类型2 游戏标签3 游戏心得 4 游戏介绍5 游戏操作心得
/// </summary>
public partial class T_Game_ChildTypes: MultiTenantEntity
public partial class T_Game_ChildTypes
{
public T_Game_ChildTypes() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏桌面配置
/// </summary>
public partial class T_Game_DesktopConfig: MultiTenantEntity
public partial class T_Game_DesktopConfig
{
public T_Game_DesktopConfig() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏开发商公司
/// </summary>
public partial class T_Game_DeveloperCompanys: MultiTenantEntity
public partial class T_Game_DeveloperCompanys
{
public T_Game_DeveloperCompanys() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 开发商
/// </summary>
public partial class T_Game_Developers: MultiTenantEntity
public partial class T_Game_Developers
{
public T_Game_Developers() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 发行方信息
/// </summary>
public partial class T_Game_Issuers: MultiTenantEntity
public partial class T_Game_Issuers
{
public T_Game_Issuers() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏列表
/// </summary>
public partial class T_Game_List: MultiTenantEntity
public partial class T_Game_List
{
public T_Game_List() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏操作类型
/// </summary>
public partial class T_Game_OperationModes: MultiTenantEntity
public partial class T_Game_OperationModes
{
public T_Game_OperationModes() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 预加载游戏
/// </summary>
public partial class T_Game_Preload: MultiTenantEntity
public partial class T_Game_Preload
{
public T_Game_Preload() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏设置配置
/// </summary>
public partial class T_Game_Setting: MultiTenantEntity
public partial class T_Game_Setting
{
public T_Game_Setting() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏标签
/// </summary>
public partial class T_Game_Tags: MultiTenantEntity
public partial class T_Game_Tags
{
public T_Game_Tags() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 游戏类型
/// </summary>
public partial class T_Game_Types: MultiTenantEntity
public partial class T_Game_Types
{
public T_Game_Types() { }

View File

@ -5,7 +5,7 @@ namespace CloudGaming.GameModel.Db.Db_Game;
/// <summary>
/// 用户分享游戏
/// </summary>
public partial class T_Game_UserShare: MultiTenantEntity
public partial class T_Game_UserShare
{
public T_Game_UserShare() { }
@ -48,9 +48,4 @@ public partial class T_Game_UserShare: MultiTenantEntity
/// 创建时间
/// </summary>
public virtual DateTime CreateTime { get; set; }
/// <summary>
/// AppId配置
/// </summary>
public virtual int AppId { get; set; }
}