FreeSql
FreeSql copied to clipboard
ApplyConfigurationsFromAssembly方式配置code first导致stackoverflow异常
问题描述及重现代码:
使用IEntityTypeConfiguration配置code first的时候,如果数据库连不上,查询不会直接报数据库连接不上,而是会直接卡住,然后很久之后报stackoverflow异常,以下配置。随便写一句select,就会报错
fsql.CodeFirst.ApplyConfigurationsFromAssembly(typeof(BaseEntity).Assembly);
//实体类
/// <summary>
/// 用户表
/// </summary>
public class SysAccount() : BaseEntity(), IEntityTypeConfiguration<SysAccount>
{
/// <summary>
/// 邮箱
/// </summary>
[StringLength(50)]
public string Email { get; set; }
/// <summary>
/// 手机号
/// </summary>
[StringLength(20)]
public string Phone { get; set; }
/// <summary>
/// 昵称
/// </summary>
[StringLength(20)]
public string? NickName { get; set; }
public string Pwd { get; set; } = string.Empty;
/// <summary>
/// 状态
/// </summary>
public AccountStatusEnum Status { get; set; } = AccountStatusEnum.正常;
[StringLength(50)]
public string RegistIp { get; set; }
public void Configure(EfCoreTableFluent<SysAccount> model)
{
model.HasIndex(a => a.Email).HasName("idx_account_email").IsUnique();
model.HasIndex(a => a.Phone).HasName("idx_account_phone").IsUnique();
model.HasData(new SysAccount()
{
Email = "[email protected]",
NickName = "TestUser",
Status = AccountStatusEnum.正常,
RegistIp = "-",
Pwd = "-"
});
}
数据库版本
MySQL8.4
安装的Nuget包
.net framework/. net core? 及具体版本
.net 9.0