Olá pessoal, talvez o título do tópico não pareça muito com o tema do Entity, porém estou no seguinte cenário:
Estou desenvolvendo uma aplicação usando Windows Forms com Entity Framework 7. Tenho duas tabelas que estão relacionadas: Modelos e Fabricantes. Um fabricante pode ter vários modelos mas aquele modelo só pode ter um fabricante. Até aí está tudo ok no Entity. No meu formulário de Cadastro de Modelos, tenho alguns campos pertinente ao modelo tais como nome, etc. para preencher. Dentre estes campos, tenho o nome do fabricante que deve ser selecionado num ComboBox. Este ComboBox recebe uma lista com os nomes de todos os fabricantes que tenho da Tabela Fabricantes. Até aí ok.
Minha dúvida: O Entity Framework precisa da ID do Fabricante que eu selecionei no Combobox para salvar na Tabela Modelos, pois assim ele vai "amarrar" este modelo que está sendo cadastrado ao fabricante selecionado. Como faço isso?
Minhas Entidades Fabricante e ModeloDeBomba:
public class Fabricante
{
public int ID { get; set; }
public string Status_Fabricante { get; set; }
public string Nome_Fabricante { get; set; }
public virtual IList<ModeloDeBomba> MOdelosDeBombas { get; set; }
}
public class ModeloDeBomba
{
public int ID { get; set; }
public string Status_ModeloDeBomba { get; set; }
public string Nome_ModeloDeBomba { get; set; }
public virtual Fabricante Fabricante { get; set; }
public int FabricanteID { get; set; }
}
No meu formulário de Cadastro de Modelos está assim: - criei um método para trazer para o ComboBox uma busca ordenada de todos os nomes dos fabricantes:
private void carregaFabricantes()
{
var busca = from f in contexto.Fabricantes
orderby f.Nome_Fabricante
select f;
foreach (var fabricantes in busca)
{
cbNomeFabricante.Items.Add(fabricantes.Nome_Fabricante);
}
}
Este método eu chamo no construtor do formulário para logo que abrir o formulário na aplicação eu terei o ComboBox com uma lista de todos os nomes de Fabricantes. Por fim, como faço agora para pegar o ID do Fabricante que eu selecionei no ComboBox para salvar na tabela? Pois o Entity vai me exigir além no nome do fabricante, o ID do fabricante (chave estrangeira) também. Desde já agradeço por qualquer ajuda! Abraços!