Entity Framework – Erro “An object with a null EntityKey value cannot be attached to an object context”

Quando você estiver utilizando EF e tentar atualizar um objeto que não foi criado do banco, com um post do mvc por exemplo, com Attach e SaveChanges você recebe a mensagem de erro

“An object with a null EntityKey value cannot be attached to an object context”  , para contornar isso você pode utilizar o método

context.AttachTo("Cargos", DadosCargo);
context.ObjectStateManager.ChangeObjectState(DadosCargo, EntityState.Modified);
context.SaveChanges();

HashTable Contains com Case Insensitive

Quando utilizamos um hashtable com assinatura padrão como está abaixo, quando utilizamos contains para verificar se uma chave existe a comparação é case sensitive.

Hashtable valores = new Hashtable();

Para tornar o Contains Case insensitive basta instancia-lo conforme  abaixo:

Hashtable valores = new Hashtable(new CaseInsensitiveHashCodeProvider(new CultureInfo(“pt-BR”)), new CaseInsensitiveComparer(new CultureInfo(“pt-BR”)));

Para mais detalhes veja http://msdn.microsoft.com/en-us/library/system.collections.caseinsensitivehashcodeprovider(v=vs.100).aspx

http://msdn.microsoft.com/en-us/library/84h4y0ta.aspx