FreeSql icon indicating copy to clipboard operation
FreeSql copied to clipboard

ApplyConfigurationsFromAssembly方式配置code first导致stackoverflow异常

Open coolqingcheng opened this issue 9 months ago • 0 comments

问题描述及重现代码:

使用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

coolqingcheng avatar Jul 24 '25 14:07 coolqingcheng