J'ai une base de données existante avec laquelle j'accède avec LINQ to Entity dans .NET 3.5 et j'ai rencontré un problème. Une des tables a une colonne nommée "de". Cela finit par vider LINQ quand j'essaye de me joindre à lui parce que c'est un mot spécial. Y at-il un moyen de contourner cela? J'essaie d'éviter de renommer cette colonne car beaucoup d'autres choses l'utilisent.La colonne LINQ to Entity est nommée From
Répondre
Vous pouvez échapper à un mot clé en C# avec @, utilisez donc @from
Espérons que cela aide
Vous pouvez renommer la colonne dans le concepteur: les noms que vous utilisez pour les propriétés dans votre modèle ne doivent pas nécessairement être identiques aux noms des colonnes de votre base de données.
Il peut avoir un nom dans la base de données et un autre nom dans le modèle conceptuel et le code généré. Si EF ne change pas automagiquement le nom de la CSDL en From1, essayez de le renommer dans le concepteur ...
Vous pouvez toujours renommer la variable de propriété publique en autre chose en utilisant le fichier edmx. Aller à GUI edmx et cliquez sur renommer. Là, vous devriez être capable de changer le nom de la propriété de fromxy à. Le résultat dans le fichier designer.cs ressemble à ci-dessous.
public global::System.Int32 fromxyz
{
get
{
return _fromxyz;
}
set
{
OnProjectIDChanging(value);
ReportPropertyChanging("");
_fromxyz = StructuralObject.SetValidValue(value);
ReportPropertyChanged("fromxyz");
OnProjectIDChanged();
}
}
Je ne peux pas croire que j'ai oublié ça! – GregInWI2