1

J'ai un problème intéressant et je voulais voir si quelqu'un d'autre a vu cela. J'ai créé un site MVC 2 en utilisant Visual Studio 2010 beta 2. J'utilise des objets de modèle de données linq to sql avec des annotations de données.MVC 2 EditorForModel() rendu des noms de tables de clés étrangères

Dans mes objets de modèle de données, j'utilise l'attribut [ScaffoldColumn (false)] pour exclure les ID de clé étrangère du rendu dans l'interface utilisateur lorsque j'utilise la méthode EditorForModel. Pour une raison quelconque, l'interface utilisateur affiche le nom de la table de clé étrangère.

par exemple. si la clé étrangère est AccountID, je vois le "compte".

Je me demande s'il s'agit d'un bogue dans l'éditeur ou si j'ai besoin d'un attribut d'annotation de données différent/supplémentaire pour indiquer à editorformodel de ne rien afficher.

Répondre

1

Les classes Linq to SQL auront une propriété pour la clé étrangère elle-même (AccountID) ainsi qu'une propriété EntitySet pour les enregistrements associés dans la table Accounts. Si vous ouvrez le fichier designer.cs généré automatiquement sous linq to sql dbml, vous pouvez afficher toutes les propriétés de chaque classe. Je pense que par défaut les helpers basés sur des templates ne sont supposés générer qu'un éditeur pour le premier niveau de propriétés. Il existe une option "deep-dive" qui étendra l'éditeur généré à plusieurs niveaux de propriétés. Découvrez Brad Wilson's blog sur le sujet (près de la fin de la poste).

En général, essayer de lancer vos classes Linq à SQL générées automatiquement dans votre vue ou les annoter avec des attributs devient assez poilu. Il peut être utile de vérifier dans strongly typed view models où vous ne pouvez spécifier que les propriétés que vous souhaitez afficher dans votre vue.

+0

Ah kewl! Je vois ce que tu veux dire ici. Je vous remercie. – user167698

Questions connexes