请问为什么我在存储库中出现此错误
错误18属性或索引器'BPP.CCSP.Admin.Infrastructure.STATES.COUNTRY_ID'不能在此上下文中使用,因为它缺少get访问器
模型
public int STATE_ID { get; set; }
public Nullable<int> COUNTRY_ID { internal get; set; }
public string STATE_NAME { get; set; }
存储库
public class AdminManager : IAdminManager
{
private readonly IRepository<STATES> _statesRepository;
public AdminManager(IRepository<PRB> prbsRepository, IRepository<OPTIONS> optionRepository, IRepository<COUNTRIES> countriesRepository, IRepository<STATES> statesRepository, IRepository<CITIES> citiesRepository)
{
_statesRepository = statesRepository;
}
public SelectList stateList()
{
var countryId = _statesRepository.FindAll().Where(c => c.COUNTRY_ID == 1);
var listStates = countryId.Select(c => new System.Web.Mvc.SelectListItem { Value = c.COUNTRY_ID.ToString(), Text = c.STATE_NAME }).OrderBy(c => c.Text).ToList();
var listCount = new SelectList(listStates, "value", "text");
return listCount;
}
}
请如何解决。
答案 0 :(得分:1)
更改
public Nullable<int> COUNTRY_ID { internal get; set; }
到
public Nullable<int> COUNTRY_ID { get; set; }
请注意,内部用于装配范围。您的存储库(我猜是)在与定义模型的项目不同的项目中。另一个项目将创建一个不同的程序集,因此internal get
将不允许repo访问此属性。