2013-06-12 2 views
0

J'ai une classe Converter que je donne un ID. Avec ce ID je veux obtenir un objet comme valeur de retour. Mais j'ai une erreur que je ne sais pas comment réparer. L'erreur apparaît à:Convertisseur ID à l'objet

result = ArbeitsplatzgruppeNT.Get(arbeitsplatzgruppeId); 

Dans ma méthode Convert et ma ConvertBack méthode est tout fonctionne bien.

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
{ 
    ArbeitsplatzgruppeNT result = null; 
    Guid arbeitsplatzgruppeId = Guid.Empty; 

    if (value != null && Guid.TryParse(value.ToString(), out arbeitsplatzgruppeId) && arbeitsplatzgruppeId != Guid.Empty) 
    { 
     try 
     { 
      result = ArbeitsplatzgruppeNT.Get(arbeitsplatzgruppeId); // Error 
     } 

     catch (Exception) 
     { 
     } 
    } 

    return result; 
} 

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
{ 
    Guid result = Guid.Empty; 

    if (value != null && value is ArbeitsplatzgruppeNT) 
    { 
     result = (value as ArbeitsplatzgruppeNT).ID; 
    } 

    return result; 
} 

Ce sont mes méthodes GET dans la classe affaires

public static ArbeitsplatzgruppeNT Get(Guid ID) 
{ 
    return DataPortal.FetchChild<ArbeitsplatzgruppeNT>(ID); 
} 

Et c'est mon erreur:

Error 2 The type 'HGERP.Data.ArbeitsplatzGruppe' is defined in an assembly that is not referenced. You must add a reference to assembly 'HGERP.DataLayer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

Il faut faire quelque chose avec ma classe affaires parce que je suis déjà version qui fonctionne. mais j'ai dû remplacer la classe ArbeitsplatzgruppeNT et maintenant ça ne fonctionne plus. mais il n'y a pas pas une grande différence entre une nouvelle ... ancienne

+0

Essayez de relire cette erreur. Qu'est-ce que cela a à voir avec les convertisseurs. Il semble qu'il vous manque une référence à votre projet DataLayer – Viv

+0

oui mais je ne suis pas autorisé à utiliser la référence de DataLayer sur le site client –

Répondre

1

Où est votre classe HGERP.Data.ArbeitsplatzGruppe 'définie? Si c'est dans un autre dll ou projet, vous aurez besoin de référencer cette dll spécifique ou projet de votre projet mvc. Vous pouvez cliquer avec le bouton droit sur la section des références pour ajouter une référence d'assembly.

+0

il y a une référence à mes données –

+0

IntelliSense vous montre ce type de classe? que se passe-t-il si vous supprimez l'annonce, nettoyez la solution et ajoutez-la à nouveau? – bbqchickenrobot

0

Vous avez probablement besoin des directives pré-compilateur autour de votre code d'accès aux données et déclarations en utilisant pertinentes, comme

#if !SILVERLIGHT 
using MyProject.DataAccess; 
#endif 

Sinon, le projet d'entreprise SL va chercher des références, il ne peut pas avoir.