2010-11-12 9 views
2

J'ai le malheureux problème qu'une base de données que j'essaie d'utiliser avec LINQ to SQL ait une table nommée 'System'. L'effet secondaire de ceci est qu'il existe d'énormes conflits d'espace de noms une fois que le fichier .dbml a été généré.LINQ to SQL Problème avec la table 'System'

Renommer la table n'est pas une option.

Toutes les idées que vous pourriez avoir seraient grandement appréciées!

Répondre

1

Ajouter un _ avant ou après le nom dans le fichier dbml

+0

En fait, c'est ce que j'ai fini par faire, et c'était de loin la solution la plus simple. Merci beaucoup. – Didaxis

+0

Aucun problème n'a eu le même problème moi-même :) – Kimtho6

1

Je pense que la meilleure option serait de renommer la table dans le concepteur/cartographie, même si vous ne pouvez pas le renommer dans le DB.

+0

Merci. J'avais peur de ça. Il suffit de beaucoup d'efforts manuels pour modifier les noms de mappage de tables DBML. J'essayais d'éviter ça. Eh bien, je suppose que je vais commencer ... – Didaxis

1

Je construis généralement mes propres classes Linq à Sql au lieu d'utiliser les fichiers .dbml. Une convention de nommage que j'utilise est TableName + "Dto". Dto permanent pour l'objet de transfert de données. Si le roulement de vos propres classes Dto n'est pas une option, vous pouvez simplement aller dans le concepteur modifier le nom de votre table système dbml à SystemDto. Il sera toujours mappé correctement à l'objet de base de données, et pourtant vous n'aurez aucun conflit de nom. Si vous êtes intéressé à voir des dto roulés à la main faites le moi savoir :). J'espère que cela t'aides!