将 SQL 查询中的分隔字符串保存为字符串数组

Save delimited string from SQL query as string array

我希望提供足够的信息,以免让任何人感到厌烦。

我有一个创建用户的模型,它具有各种属性,包括一系列专业化:

public class User
{
    ...
    public string[] specializations { get; set; }
}

我的部分查询将专业化检索为分隔列表:

STUFF(( SELECT  ';' + csc.description
        FROM    certified_specialization_code csc
            INNER JOIN  certified_specialization cs ON  csc.specialization_code = cs.specialization_code
        WHERE   cs.member_number = m.entity_number)
        FOR XML PATH('')), 1, 1, '' ) AS specializations,

然后我获取查询值并将它们分配给我的模型:

while (reader.Read())
{
    ...
    member.specializations = reader["specializations"];
    ...
}

获取该字符串并将其分配给 member.specializations、字符串 [] 的正确语法是什么?

就像您拆分任何其他字符串一样:

member.specializations = reader["specializations"].ToString()
                                                  .Split(';');