2009-09-13 6 views
0

J'ai une propriété de date et heure dans un modèle linq to sql et je souhaite la remplacer dans une classe partielle.Est-il possible de remplacer une propriété linq to sql?

J'ai essayé de modifier le modificateur d'héritage, puis de surcharger la classe partielle, mais cela n'a pas fonctionné.

Est-ce que ce genre de chose est possible? Je développe dans le cadre 3.5 et son application et ASP.NET MVC.

Mon override est:

public override DateTime CommissionStart { get { return this.CommissionStart; } set { if (CommissionEnd > CommissionStart) { throw new ApplicationException("Date exception"); } else { this.CommissionStart = value; } } } 

Répondre

1

Je pense que la vraie question est: « Quel est le bon modèle pour faire ce type de validation? » Au lieu d'essayer de redéfinir, implémentez la fonction partielle OnCommissionStartChanging. De là, vous pouvez effectuer votre validation et lancer votre exception. Oh, et n'utilisez pas ApplicationException.

+0

Cela ressemble à une solution beaucoup plus agréable. Je souhaite maintenant remplacer le code d'exception de mon application par du code qui ajoutera une erreur à l'état du modèle. Et cela va ensuite renvoyer à mon contrôleur, puis afficher. Sais-tu comment faire cela? – littlechris

+0

+1 Excellente information sur ApplicationException. – JoshJordan

+1

@littlechris: Vous pouvez mettre un code d'erreur dans votre objet modèle, puis implémenter la méthode partielle OnValidate() pour faire ce que vous voulez, je pense. –