Q:

Não consigo salvar um Dictionary

Tenho uma página que pode ter acesso não permitido, aberta para leitura ou aberta para leitura e escrita. Ainda que a página seja totalmente fechada, o dono da mesma pode escolher alguns usuários do sistema que poderão ter acesso a esta. Essas exceções podem receber permissões de escrita ou escrita e leitura, para isso, utilizei um dictionary aonde a key será o usuário que terá permissão e a String indicará qual nível de acesso ele tem nessa página.
Problema: O dictionary parece não conseguir ser salvo no banco, apenas na Action que está sendo executada, assim, não passa do Post da tela de edição da página.
Model da Página:
public class Fluxo
{
    [Key]
    public int FluxoID { get; set; }

    [Required(ErrorMessage = "Dê um nome a fluxo")]
    [Display(Name = "Título")]
    public String Nome { get; set; }

    [Required]
    [Display(Name = "Dono do fluxo")]
    public virtual Usuario Dono { get; set; }

    [Display(Name = "Topico")]
    public String TopicoPertencente { get; set; }

    [Required]
    [Display(Name = "Visibilidade")]
    public String Visibilidade { get; set; }

    public virtual IDictionary<Usuario, String> Permitidos { get; set; }

    public virtual IList<Informacao> Informacoes { get; set; }

    public object[] UsuarioID { get; internal set; }
}

Trecho do FluxoController/Edit:
    [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Edit([Bind(Include =   "FluxoID,Nome,TopicoPertencente,Visibilidade,desassociar")] ViewModels.Fluxo vwfluxo)
            {
              if (ModelState.IsValid)
              {
                Fluxo fluxo = db.Fluxo.Include(f => f.Dono).Where(fl => fl.FluxoID.Equals(vwfluxo.FluxoID)).FirstOrDefault();
                ...

                // Até essa parte, tudo vai bem, porém, a Action termina e o Dictionary se perde.
               fluxo.Permitidos = Selecionados; //Selecionados foi um Dictionary montado para salvar os usuários selecionados, essa lista irá preencher os Permitidos do objeto.

                db.Entry(fluxo).State = EntityState.Modified;
                db.SaveChanges();

    }

Ao sair da Action, fluxo.Permitidos fica nulo. Não sei se está faltando algo para salvar com sucesso, sou iniciante na linguagem e é bem possível que aconteça algo do tipo, mas minha opinião é que tem algum problema em tentar salvar um dictionary no banco, não há nenhum atributo em db.Fluxo que pareça estar relacionado a esse dictionary.
Desculpem se algo está complicado para entender, primeiro post.

A:

Procure não ficar triste com o que vou dizer: o Entity Framework não mapeia dicionários. 
Crie uma classe associativa assim:
public class FluxoUsuario
{
    [Key]
    public int FluxoUsuarioID { get; set; }
    public int FluxoID { get; set; }
    public int UsuarioID { get; set; }

    public virtual Fluxo Fluxo { get; set; }
    public virtual Usuario Usuario { get; set; }
}

E Fluxo.cs:
public class Fluxo
{
    [Key]
    public int FluxoID { get; set; }

    [Required(ErrorMessage = "Dê um nome a fluxo")]
    [Display(Name = "Título")]
    public String Nome { get; set; }

    [Required]
    [Display(Name = "Dono do fluxo")]
    public virtual Usuario Dono { get; set; }

    [Display(Name = "Topico")]
    public String TopicoPertencente { get; set; }

    [Required]
    [Display(Name = "Visibilidade")]
    public String Visibilidade { get; set; }

    public virtual ICollection<FluxoUsuario> UsuariosPermitidos { get; set; }

    public virtual IList<Informacao> Informacoes { get; set; }

    public object[] UsuarioID { get; internal set; }
}

E Usuario.cs:
public class Usuario
{
    ...
    public virtual ICollection<FluxoUsuario> FluxosPermitidos { get; set; }
}

