我的问题是我需要查询泛型类中属性的值.该属性标有属性.
请参阅以下代码:
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.
但是,我对这里的工作感到非常难过.有没有人有任何想法如何实现这一目标?谢谢.
当我使用以下代码从文件系统访问证书时,无论是在本地还是在 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 个请求有效,然后总是因错误而失败。我将不胜感激任何建议。