J'ai écrit mon propre couche de données de persister à un fichier spécifique, et je l'ai captée avec un custom DataContext modèle.
C'est basé sur l' .NET Framework 2.0 (au vu des contraintes pour le serveur cible), alors même si certains de il pourrait ressembler à LINQ-to-SQL, ne l'est pas! J'ai juste mis en place un semblable modèle de données.
Voir l'exemple ci-dessous pour un exemple d'une situation que je ne peux pas encore expliquer.
Pour obtenir toutes les instances de l'Animal - je le faire et il fonctionne très bien
public static IEnumerable<Animal> GetAllAnimals() {
AnimalDataContext dataContext = new AnimalDataContext();
return dataContext.GetAllAnimals();
}
Et la mise en œuvre de la GetAllAnimals() la méthode dans le AnimalDataContext() ci-dessous
public IEnumerable<Animal> GetAllAnimals() {
foreach (var animalName in AnimalXmlReader.GetNames())
{
yield return GetAnimal(animalName);
}
}
Le AnimalDataContext() implémente IDisposable parce que j'ai un XmlTextReader là-bas et je veux faire en sorte qu'il soit nettoyé rapidement.
Maintenant, si j'enveloppe le premier appel à l'intérieur d'une instruction d'utilisation comme
public static IEnumerable<Animal> GetAllAnimals() {
using(AnimalDataContext dataContext = new AnimalDataContext()) {
return dataContext.GetAllAnimals();
}
}
et mettre un point de rupture à la première ligne de la AnimalDataContext.GetAllAnimals() la méthode et d'un autre point de rupture à la première ligne dans le AnimalDataContext.Méthode dispose (), et de l'exécuter...
la méthode dispose() est appelée en PREMIER, de sorte que AnimalXmlReader.Getnames a() donne "la référence d'objet n'est pas définie à l'instance de l'objet" d'exception parce que AnimalXmlReader a été définie à null dans la dispose() ???
Des idées? J'ai un pressentiment que son liés à des taux de retour n'étant pas autorisés à être appelée à l'intérieur d'un bloc try-catch, qui aide efficacement représente, une fois compilé...