私はLINQを初めて使用しています。現在、ユーザーが所属するすべての組織をループして、フォームでさまざまな操作を実行する権限があることを確認しています。
次のようになります。
//loop through all user orgs to see if what they selected, they have access to
foreach (OrgPermission userOrg in user.orgs)
{
//get the org permissions for the selected org
if ((ddlOrg.SelectedValue == (userOrg.Org.orgCode + "-" + userOrg.Org.orgSubCode)))
{
if (userOrg.type.Contains("3") || userOrg.type.Contains("00"))
{
/
/do something here.
}}}
私はループを取り除こうとしています。ユーザーが多くの組織を持っているかのように、実行に少し時間がかかり、アプリケーションの実行時間を最適化しようとしています。
私は次のことを試しました:
bool has = user.orgs.Any(cus => cus.Org.orgCode + "-" + cus.Org.orgSubCode == ddlOrg.SelectedValue);
ご覧のとおり、ddlOrg ドロップダウン値は org-suborg 形式です。しかし、私は常に偽になっています。
また、結果をブール値ではなく、おそらく単一の user.ORG として保存して、それを使用して権限やその他のものを確認できるようにしたいと考えています。
私はここで正しい軌道に乗っていますか?誰かが私を正しい方向に向けてください。