代码之家  ›  专栏  ›  技术社区  ›  Ahmed Aljaff

使用实体框架核心在SQL Server中存储大型字符串的最佳实践

  •  0
  • Ahmed Aljaff  · 技术社区  · 6 年前

    我正在寻找使用实体框架核心将字符串列表存储到数据库中的最佳实践。

    我的数据是一组角色,可能大约100个角色或更多,因此我有两个选项:

    1. 使用另一个表并建立一些关系。
    2. 使用一个列类型 nvarchar(max) 并按 ;

    我需要知道哪条路更好,为什么?

    目前,我的代码使用选项2存储数据,实体框架值转换器使用 ; 分隔符,反之亦然。

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
    
        modelBuilder.Entity<User>(c =>
        {
            c.Property(f => f.Roles).HasConversion
            (
                v => String.Join(";", v),
                v => v == null ? new List<string>() : v.Split(';', StringSplitOptions.None).ToList()
            );
        });
    
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   TomC    6 年前