Pergunta

Eu estou encontrando um erro estranho quando usando o linq-to-sql com serviços de dados ADO.NET. Eu tenho um aplicativo do Silverlight simples que se conecta a um banco de dados remoto. I primeiro adicionado a classe LINQ to SQL e arrastou uma mesa para o designer. Então eu adicionei um serviço de dados ADO.NET, atualizou a referência DataService para apontar para o contexto L2S dados.

Compilado sem problemas.

Quando abro o serviço no IE eu imediatamente obter um erro para que eu adicione o seguinte atributo para o serviço de dados:

[System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]

Isso traz a mensagem de erro detalhada:

A mensagem de exceção é 'On tipo de contexto de dados 'DataClasses1DataContext', existe uma propriedade IQueryable top 'table1' cujo tipo de elemento não é um tipo de entidade. Certifique-se de que a propriedade IQueryable é do tipo entidade ou especificar o atributo IgnoreProperties sobre o tipo de contexto de dados para ignorar esta propriedade

isso acontece com qualquer banco de dados o uso da tabela I no designer L2S!

O que é esse erro e por que estou recebendo-lo?

Foi útil?

Solução

Você vai precisar para decorar suas classes com o atributo DataServiceKey.

Mais detalhes no blog do Marc aqui , e um blogue MSDN aqui (este último fala sobre muitos para muitos relacionamentos, mas cobre o atributo DatServiceKey).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top