Usuário com melhor resposta
Inserindo em chave de uma Associação

Pergunta
-
Olá, estou com uma dúvida sobre LINQ =). É a seguinte idéia: Tenho a seguinte classe de Filmes
[Table(Name = "Filmes")] class Filme { [Column(Name = "CodigoFilme", IsPrimaryKey = true, IsDbGenerated = true)] public int CodigoFilme { get; set; } [Column(Name = "Nome")] public String NomeFilme { get; set; } [Association(OtherKey = "GeneroCodigo")]
public Genero GeneroFilme { get; set; } }Tenho associado uma classe de Genero, um filme tem um gênero, quando vou inserir o filme tenho o seguinte:
DataContext context = new DataContext("Banco");
Table<Filme> tbfilmes = dc.GetTable<Filme>();
Filme filme = new Filme() { NomeFilme = "Teste", GeneroFilme = new Genero{ GeneroCodigo = 2} };
tbfilmes.InsertOnSubmit(filme);
context.SubmitChanges();O problema é que não chega ao banco o código do gênero. É preciso ter um campo chamado código do gênero na minha classe? Ou tem alguma solução utilizando a classe associada?
Valew!
Respostas
-
Provavelmente no seu banco de dados você deve ter o GeneroCodigo. O que deve fazer (você deve ter alterado a classe) é recriar as classe da tabela filme. então terá o GeneroCodigo como um int. assim voce faria:
Filme filme = new Filme() { NomeFilme = "Teste" , GeneroCodigo = 2 } };
Minato alexandre.minato@hotmail.com - http://www.alexandreminato.com.br- Marcado como Resposta Adriano Galesso sexta-feira, 20 de agosto de 2010 01:54
Todas as Respostas
-
Provavelmente no seu banco de dados você deve ter o GeneroCodigo. O que deve fazer (você deve ter alterado a classe) é recriar as classe da tabela filme. então terá o GeneroCodigo como um int. assim voce faria:
Filme filme = new Filme() { NomeFilme = "Teste" , GeneroCodigo = 2 } };
Minato alexandre.minato@hotmail.com - http://www.alexandreminato.com.br- Marcado como Resposta Adriano Galesso sexta-feira, 20 de agosto de 2010 01:54
-
Alexandre,
Obrigado pela resposta.
É isso mesmo que eu fiz, como o gênero se tornou uma classe, a propriedade GeneroCodigo da tabela de filmes sumiu.
Mas nesse caso minha classe num ficará tão inteligente, já que para listar eu vou carregar a associação: public Genero GeneroFilme { get; set; }
e para inserir: public int GeneroCodigo{ get; set; }.É assim mesmo que as coisas são no LINQ?
-