2009-08-11 7 views
0

J'ai un cas où j'ai un dbml de linq2sql avec 2 table ilComment gérez-vous un cas où dans une table vous avez une clé étrangère qui ne peut pas être nulle?

nous allons simplifier par:

Table1 
id int not null 
fkid int not null (to table2.id) 

et

Table2 
id int not null 
v1 bit not null 

dans le dbml généré, fkid est pas tapez nullable et par défaut sa valeur est 0

mais dans la table2, je n'ai pas un ID 0

lorsque j'essaie d'insérer un nouvel enregistrement sans toucher au champ fkid, je reçois une erreur d'insertion SQL disant: 0 n'existe pas dans le tableau2

chose que je veux faire pour rendre mon chèque entièrement générique donc je ne peux pas faire quelque chose comme:

si la colonne ne permet pas vérifier null si la valeur est 0 et si c'est le cas lancer une erreur personnalisée

Je voudrais faire quelque chose comme: si la colonne est nULL, jeter "mon erreur personnalisée"

comment voulez-vous implémenter cela?

Répondre

1

depuis que je suis en utilisant le modèle de t4, j'ai changé la ligne 80 L2ST4.ttinclude de

if (type.IsValueType && canBeNull) 

à

if (type.IsValueType) 

il POSEZ TOUJOURS type Nullable partout dans le fichier généré

+0

Je viens de déplacer cette question de ma question afin que je puisse lui donner un chèque vert dans 2 jours, s'il n'y a pas de meilleure réponse – Fredou

Questions connexes