小编Rya*_*n Z的帖子

LINQ to Entities无法识别方法'System.Object GetValue(...)'

我的问题是我需要查询泛型类中属性的值.该属性标有属性.

请参阅以下代码:

 var rowKeyProperty = EFUtil.GetClassPropertyForRowKey<T>();
 var tenantKeyProperty = EFUtil.GetClassPropertyForTenantKey<T>();

 var queryResult =
                objContext.CreateObjectSet<T>().Single(l => (((int) tenantKeyProperty.GetValue(l, null)) == tenantKey) &&
                                                            (((int)rowKeyProperty.GetValue(l, null)) == KeyValue));
Run Code Online (Sandbox Code Playgroud)

rowKeyProperty和tenantKeyProperty的类型为System.Reflection.PropertyInfo.

我理解为什么我收到错误.当linq查询转换为SQL时,它无法理解property.GetValue.

但是,我对这里的工作感到非常难过.有没有人有任何想法如何实现这一目标?谢谢.

c# linq entity-framework-6

11
推荐指数
1
解决办法
8077
查看次数

从 azure 网站访问证书时密钥集不存在

当我使用以下代码从文件系统访问证书时,无论是在本地还是在 azure 网站上,都没有问题:

X509Certificate2 certificate = new X509Certificate2(keyFilePath, "mysecret", X509KeyStorageFlags.MachineKeySet |
                   X509KeyStorageFlags.PersistKeySet |
                   X509KeyStorageFlags.Exportable);
Run Code Online (Sandbox Code Playgroud)

但是,当我按照https://azure.microsoft.com/en-us/blog/using-certificates-in-azure-websites-applications/ 上的说明使用 azure 证书存储时,前 3 个到9 个请求,所有后续调用都在以下行失败

var rsa = certificate.PrivateKey as RSACryptoServiceProvider;
Run Code Online (Sandbox Code Playgroud)

出现错误“System.Security.Cryptography.CryptographicException: Keyset does not exist”,直到站点重新启动,然后至少可以处理 3 个请求。

我很困惑为什么它对至少 3 个和最多 9 个请求有效,然后总是因错误而失败。我将不胜感激任何建议。

c# azure x509certificate azure-web-app-service

4
推荐指数
1
解决办法
8134
查看次数