Я знаю, что Entity Framework поддерживает частичное доверие, я лично blogged about thatEntity Framework в среде с частичным доверием
Это работает нормально, я проверил это, и это было прекрасно. Теперь, если вы загрузите образцы, прикрепленные к моему сообщению об этом предмете, он больше не будет запускаться с частичным доверием по умолчанию !!!
Когда я вырыл в сборе System.Data.Entity с помощью рефлектора на позиции отказа «System.Data.Objects.LightweightCodeGenerator.ValidateSetterProperty (RuntimeMethodHandle setterMethodHandle, MethodInfo & setterMethodInfo, Тип & realType» Я заметил, что он называет RuntimeMethodHandle. Значение свойство, которое имеет следующий атрибут ПОЛУЧИТЬ аксессор «[SecurityPermission (SecurityAction.LinkDemand, UnmanagedCode = истина)]»
Так что я пошел в мою конфигурацию среды доверия и добавил еще один флаг «UnmanagedCode» «»
Я снова тестирую приложение и он работал нормально.
Теперь, что это все ?! Он работал раньше, так почему теперь это не так! Там чего-то не хватает !!! Изменен ли System.Data.Entity в течение нескольких частых сообщений об обновлениях для VS.NET 2008 SP1, а последний был сделан в августе прошлого года. Потому что до этой даты он работал нормально.
Так что я был бы признателен, если бы кто-нибудь смог прояснить это и направить меня, если я ошибаюсь, или есть что-то, что мне не хватает.
Не уверен, если это ошибка или нет! Но я считаю ошибку, но не уверен, что она со стороны EntityFramework или BCL. Думаю, BCL изменился по некоторым соображениям безопасности. До последнего обновления свойство System.RuntimeMethodHandle.Value не имеет атрибута "[SecurityPermission (SecurityAction.LinkDemand, UnmanagedCode = true)]"! Я проверил его с помощью отражателя. Теперь у меня есть [SecurityPermission (SecurityAction.LinkDemand, UnmanagedCode = true)], как я упоминал в своем предыдущем сообщении. Это проблема, потому что теперь она останавливает поддержку Partial Trust. –