2010-10-14 3 views
0

Est-ce que quelqu'un sait comment mettre à jour la classe de modèle de données après avoir apporté quelques modifications personnalisées dans le fichier .dbml.Comment mettre à jour la classe de modèle de données après avoir modifié manuellement le fichier .dbml

J'ai essayé de marquer manuellement certains champs nullable dans le fichier .dbml, mais les modifications ne sont pas visibles dans le code, quel que soit le nombre de fois que je reconstruis. J'ai même essayé d'éditer .dbml (xml) dans un outil externe, et ensuite enregistrer, mais pas d'utilisation.

modifier < < est ici l'extrait de code pour shaunmartin ...

<Table Name="dbo.Clients_Banks" Member="Clients_Banks"> 
<Type Name="Clients_Banks"> 
    <Column Name="ID" Type="System.Int32" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" /> 
    <Column Name="FKClients" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" /> 
    <Column Name="BankName" Type="System.String" DbType="NVarChar(100) NOT NULL" CanBeNull="false" /> 
    <Column Name="BankAccountNo" Type="System.String" DbType="NVarChar(50) NOT NULL" CanBeNull="false" /> 
    <Column Name="Party" Type="System.String" DbType="NVarChar(50)" CanBeNull="true" /> 
    <Column Name="ClientAccountNo" Type="System.String" DbType="NVarChar(50) NOT NULL" CanBeNull="false" /> 
    <Column Name="Active" Type="System.Boolean" DbType="Bit NOT NULL" CanBeNull="false" /> 
    <Column Name="NonResidentialAccount" Type="System.Boolean" CanBeNull="false" /> 
    <Column Name="Swift" Type="System.String" CanBeNull="true" /> 
    <Column Name="Iban" Type="System.String" CanBeNull="true" /> 
    <Association Name="Clients_Clients_Banks" Member="Clients" ThisKey="FKClients" OtherKey="ID" Type="Clients" IsForeignKey="true" /> 
</Type> 

Je viens de modifier la propriété CanBeNull de faux, à vrai, pour les deux derniers membres (Iban et Swift). Rien de majeur, mais j'ai besoin que cela soit fait.

+0

Pourriez-vous inclure l'extrait de code XML dbml que vous avez modifié? – shaunmartin

+0

Je devais mettre l'extrait au texte de la question d'origine car il ne peut pas contenir le nombre de caractères du commentaire limite – Eedoh

+0

Désolé, j'aurais aussi dû demander un extrait du code généré - comme les premières lignes des propriétés Swift et Iban. Je vais aller de l'avant avec une réponse de toute façon et nous pourrons continuer à discuter là-bas, si vous le souhaitez. – shaunmartin

Répondre

0

Ok, je suppose que vous avez déjà mis Nullable à vrai dans la fenêtre Propriétés de Visual Studio lorsque vous avez le champ Swift ou Iban sélectionné dans le concepteur de l'entité, et que vous avez enregistré pour régénérer la Fichier .Designer.cs. Si oui (il semble que vous faites cela ...), voici ce que vous devez être voir:

Avec jeu Nullable à vrai:

<Column Member="Swift" Storage="_Swift" Type="System.String" CanBeNull="true" UpdateCheck="Always" /> 

devrait générer ceci:

[Column(Storage="_Swift")] 
public string Swift 
{ 
... 

Avec jeu Nullable à Faux:

<Column Member="Swift" Storage="_Swift" Type="System.String" CanBeNull="false" UpdateCheck="Always" /> 

devrait générer ceci:

[Column(Storage="_Swift", CanBeNull=false)] 
public string Swift 
{ 
... 

Comme vous pouvez le voir, String est annulable par défaut, donc il n'y a pas besoin d'une propriété CanBeNull dans l'attribut de colonne lorsque Nullable est définie sur True.

Quoi qu'il en soit, si ce qui précède ne fournit plus d'indices, vous devrez peut-être fournir un extrait de votre code généré (comme je l'ai mentionné dans un commentaire sur votre question). J'espère que cela t'aides.

Questions connexes