Je sais que Entity Framework prend en charge la confiance partielle, personnellement, je blogged about thatEntity Framework dans un environnement de confiance partielle
Il fonctionnait très bien, je l'ai testé et il était très bien. Maintenant, si vous téléchargez les échantillons attachés à mon post sur le sujet, il ne fonctionne plus sous la confiance partielle par défaut !!!
Quand je creusais dans l'assemblage System.Data.Entity en utilisant le réflecteur sur la position de l'échec "System.Data.Objects.LightweightCodeGenerator.ValidateSetterProperty (RuntimeMethodHandle setterMethodHandle, MethodInfo & setterMethodInfo, type & realType" Je remarqué qu'il appelle RuntimeMethodHandle. propriété de la valeur qui a l'attribut suivant sur accesseur get "[SecurityPermission (SecurityAction.LinkDemand, UnmanagedCode = true)]"
Je suis allé à ma configuration de confiance moyenne et a ajouté un autre drapeau "UnmanagedCode" ""
Je teste à nouveau l'application et ça a bien fonctionné.
Maintenant, de quoi s'agit-il ?! Ça fonctionnait avant alors pourquoi pas maintenant! Il manque quelque chose!!! System.Data.Entity a-t-il changé au cours de la publication de plusieurs mises à jour fréquentes de VS.NET 2008 SP1 et la dernière a été effectuée en août 2009. Parce qu'avant cette date, cela fonctionnait correctement.
Donc j'apprécierais que n'importe qui pourrait clarifier ceci et me guider si je me trompe, ou il y a quelque chose qui me manque.
Je ne sais pas si cela est bug ou non! Mais je considère que c'est un bug mais je ne sais pas si c'est du côté de EntityFramework ou du côté BCL. Je suppose que la BCL a changé pour des raisons de sécurité. Avant la dernière mise à jour La propriété System.RuntimeMethodHandle.Value n'a pas d'attribut "[SecurityPermission (SecurityAction.LinkDemand, UnmanagedCode = true)]"! Je l'ai vérifié avec un réflecteur. Maintenant, il a [SecurityPermission (SecurityAction.LinkDemand, UnmanagedCode = true)] comme je l'ai mentionné dans mon post précédent. Il s'agit d'un problème car il arrête maintenant le support de Trust partiel. –