我在一个ASP.NET应用程序中使用了Linq to SQL,我现在需要在服务器上部署它。不幸的是,托管服务器只能提供中等级别的信任。我的应用程序崩溃没有类型ReflectionPermission的许可。
有没有办法编辑我的查询以解决此限制?
例如,我的应用在调用此代码时崩溃:
Error error = new Error { Date = DateTime.Now, Message = message, StackTrace = stack };
dataContext.Errors.InsertOnSubmit(error);
dataContext.SubmitChanges();
感谢。
答案 0 :(得分:1)
这可能是由ReflectionPermission.RestrictedMemberAccess
属性引起的。
确保EF模型类中的每个属性都是公共的。
我遇到了一个更复杂的问题,但可能与你的情况类似。 我在我的EF模型类中聚合了一个具有私有属性的类。 在加载期间,来自DB的任何记录,EF也会尝试从此聚合类加载每个属性。
从我的一个模型类中删除此引用(并通过复制所需的属性替换它)解决了中等信任环境中的问题。