2010-05-12 4 views
0

Je cette procédure de magasin ...groupe par procédure de magasin avec LINQ to sql

select 
    a.IsDirectClient 
from 
    dbo.Companies as a 
where a.SchemeName = @SchemeName 
    group by a.IsDirectClient 

que je voudrais utiliser dans ma solution via LINQ et un contexte de données. Toutefois, je ne peux pas supprimer cette procédure de stockage sur la table de la société car les objets "... base de données retournent un schéma qui ne correspond pas au schéma de la classe de données cible ...". (Est-ce parce qu'il est de retour d'un seul champ au lieu de « * »?)

ma question est de savoir comment puis-je utiliser cette procédure de magasin avec LINQ, je peux utiliser l'objet var:

var directclient = db.DirectClientForScheme("xxx"); 

mais je n'ont pas accès à la propriété 'IsDirectClient' via intellisense.

Répondre

1

LINQ to SQL génère automatiquement un type pour gérer la valeur de retour de chacune de vos procédures stockées (sauf indication contraire dans les options). L'utilisation de var directclient = ... ne devrait pas vous poser de problèmes avec IntelliSense, ce qui me dit qu'il y a un problème plus important.

La procédure stockée a-t-elle changé depuis que vous avez généré vos classes LINQ to SQL? Même si vous ne le pensez pas, essayez d'actualiser la procédure stockée dans votre diagramme LINQ to SQL et de voir si le type de retour généré automatiquement est correctement généré.

+0

parce que je ne peux pas déposer le sp sur la bonne table Je pense qu'il ne configure pas l'IntelliSense. J'ai supprimé et readed pour s'assurer, toujours le même problème. – Rob

+0

oups, tout à fait écrire. J'ai changé le sp pour retirer les données d'une vue et non la table d'origine. – Rob