I ont deux tables:Entités et du site de données dynamiques: les références entre les tables
CREATE TABLE [dbo].[Context] (
[Identity] int IDENTITY (1, 1) NOT NULL,
[Naam] nvarchar (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Code] nvarchar (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Omschrijving] ntext COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ;
ALTER TABLE [dbo].[Context]
ADD CONSTRAINT [PK_Context]
PRIMARY KEY ([Identity]) ;
ALTER TABLE [dbo].[Context]
ADD CONSTRAINT [IX_Context_Naam]
UNIQUE ([Naam]) ;
ALTER TABLE [dbo].[Context]
ADD CONSTRAINT [IX_Context_Code]
UNIQUE ([Code]) ;
CREATE TABLE [dbo].[Component] (
[Identity] int IDENTITY (1, 1) NOT NULL,
[ContextLink] int NOT NULL,
[Naam] nvarchar (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Code] nvarchar (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Omschrijving] ntext COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ;
ALTER TABLE [dbo].[Component]
ADD CONSTRAINT [FK_ComponentContext]
FOREIGN KEY ([ContextLink])
REFERENCES [dbo].[Context] ([Identity]) ;
(Au-dessus de script doit créer à la fois.) Fondamentalement, j'ai une table de composants qui fait référence à la table de contexte.
J'ai créé un site de données dynamique en utilisant les deux tables et .NET prendra soin des références pour moi. C'est un bon moyen de fournir rapidement un site Web de base afin que nous puissions continuer à travailler sur la logique métier en premier.
Cependant, quand je regarde la table des composantes de la DDS, je remarque que la référence indique le code champ du contexte, pas le champ Nom . Alors, comment puis-je forcer le DDS à utiliser le champ Nom à la place lors de l'affichage du lien de référence à la table de contexte?
(de préférence en utilisant quelque chose de simple, puisque je traite plus de 60 tableaux qui sont semblables à celui-ci. La plupart d'entre eux de simples tables de recherche pour rendre le filtrage plus facile.)
Puisque nous n'allons pas Travailler sur le côté GUI de cette application Web pendant quelques mois, ce n'est pas une option pour modifier quelque chose dans la source DDS elle-même. Si cela peut être corrigé dans la base de données ou dans le modèle Entity, merci de me le faire savoir!
Le modèle de données que j'utilise pour ce projet est simple: chaque table a une clé primaire « d'identité » qui est un champ autoIncrement. Les champs Code et Naam (nom) décrivent des données spécifiques et sont utilisés dans d'autres applications pour remplir des comboboxes et des filtres. Ces applications ne communiquent pas directement avec la base de données, mais utilisent un fichier XML d'exportation basé sur la base de données. Dans cet export XML, les liens vers "Identity" sont remplacés par des liens vers "Code". Cela permet à l'utilisateur de changer le code à tout ce qu'il veut sans avoir besoin de parcourir toute la base de données pour ajuster les références. La base de données n'a qu'un seul but: permettre à plusieurs utilisateurs de gérer plus facilement les données XML utilisées par une autre application. Nous avons environ 5 personnes qui apportent des modifications à ces données environ 24/7 et un XML d'exportation est généré environ une fois par semaine, qui est ensuite envoyé à nos clients. (Qui utilisent principalement ces données dans une application hors ligne, sur des ordinateurs portables avec une connectivité Internet limitée.)
Traduction pour les curieux: Naam = Nom, Omschrijving = Commentaire. Le reste ne sont que des noms anglais. Alors maintenant vous connaissez la traduction néerlandaise de deux mots anglais. :-) –