Dans mon application Asp.NET MVC4, je veux ajouter un champ à mon modèle sans l'ajouter à la base de données.
Sorte d'un champ qui ne vit que dans les instances c # du modèle mais pas dans la base de données elle-même.
Existe-t-il une annotation ou un autre moyen d'exclure le champ de la base de données elle-même?
Je veux dire un objet que je peux lire et écrire en runtime dont la base de données n'a aucune connaissance.
Décorez simplement votre terrain/propriété avec [NotMapped]
.
Par exemple:
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
[NotMapped]
public string Type { get; set; }
}
Cela dépend du cadre que vous utilisez pour accéder à vos données. Je suppose que c'est Entity Framework. Eh bien, vous pouvez créer une classe partielle avec la propriété que vous souhaitez ne pas mapper à votre base de données.
quelque chose comme
public class Class1
{
string Text { get; set; }
int Number { get; set; }
}
public partial class Class1
{
bool IsSomething { get; set; }
}
mais ce n'est pas conseillé. Plus: Entity Framework: ajoutez une propriété qui ne correspond pas à la base de données
Ou si vous utilisez Code First: Ignorer une propriété de classe dans Entity Framework 4.1 Code First