C# NopCommerce-按国家和语言获取州

C# NopCommerce-按国家和语言获取州,c#,nopcommerce,C#,Nopcommerce,我有一个自定义插件要在NopCommerce中开发。 我需要获取与国家相关的省/州列表。 我可以很容易地做到这一点 IList<StateProvince> stateList = _stateProvinceService.GetStateProvincesByCountryId(Country.Id); 我该怎么做呢?首先,我对cacheManager不太清楚。因为里面没有代码。尝试使用/不使用该代码。不管怎样,假设它工作正常 我想你只是在用这个来订购清单

我有一个自定义插件要在NopCommerce中开发。
我需要获取与国家相关的省/州列表。
我可以很容易地做到这一点

IList<StateProvince> stateList = _stateProvinceService.GetStateProvincesByCountryId(Country.Id);

我该怎么做呢?

首先,我对cacheManager不太清楚。因为里面没有代码。尝试使用/不使用该代码。不管怎样,假设它工作正常

我想你只是在用这个来订购清单

            stateProvinces = stateProvinces
            .OrderBy(c => c.DisplayOrder)
            .ThenBy(c => c.GetLocalized(x => x.Name, languageId))
我想,你必须写这样的东西

StateProvince object = stateList.FirstOrDefault(spl => spl.Name == "french province name");
where sp.CountryId == countryId && sp.LanguageId == languageId && (showHidden || sp.Published)
但是如果这不能解决你的问题,你可以写这种糟糕的方法

...
                stateProvinces = stateProvinces
                .OrderBy(c => c.DisplayOrder)
                .ToList();

/* You should seperate this function as well. Because you need to pass province name somehow */
StateProvince stateprov = stateList.FirstOrDefault(spl => spl.Name.GetLocalized(x => x.Name, languageId) == "french province name");
...

为什么这是一个糟糕的方法?通过魔术串得到这样的东西是不好的。大写字母,小写字母呢?性能如何(你得到了完整的列表,转换成你的语言,只需要一个)?等等。我希望这能有所帮助,很抱歉,我们不知道那里到底发生了什么…

为什么人们在不留下任何评论的情况下进行向下投票?您可以从州/省表连接到本地化属性,并按本地化名称或默认名称进行筛选。
where sp.CountryId == countryId && sp.LanguageId == languageId && (showHidden || sp.Published)
...
                stateProvinces = stateProvinces
                .OrderBy(c => c.DisplayOrder)
                .ToList();

/* You should seperate this function as well. Because you need to pass province name somehow */
StateProvince stateprov = stateList.FirstOrDefault(spl => spl.Name.GetLocalized(x => x.Name, languageId) == "french province name");
...