这是我的桌子。
grp_perm_id grp_id Perm_id
23 2 2
27 2 1
28 3 1
29 2 3
我想以整数数组的形式检索结果。以下是我正在尝试的代码
public List<int> GetData(int grp_id)
{
// List<ts_grp_perm_mapping> tm = (from c in db.ts_grp_perm_mapping where c.grp_id == grp_id select c).ToList();
int[] selectedradiobuttons = (from c in db.ts_grp_perm_mapping where c.grp_id == grp_id select c).ToArray();
return selectedradiobuttons.ToArray();
}
我在这里接收grp_id。例如,如果我收到2(grp_id),那么我想返回包含perm_id(2,1,3)的整数数组。如果grp_id为3,那么整数数组包含perm_id(1)。我怎样才能做到这一点?在上面的代码中我收到此错误:
无法隐式转换类型c3card.dal.edmodel.ts_grP_perm []为int
有人可以建议我怎么做吗?我想返回整数数组。
这是我的json代码。
public JsonResult GetCheckedPerm(int usr_groupId)
{
List<int> selectedradio = GrpPermBAL.GetData(usr_groupId);
return(selectedradio,JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:1)
您当前正在选择整行,而不仅仅是perm_id。您还调用了ToArray
两次,并尝试返回一个数组,尽管您的方法的返回类型为List<int>
。我只是用:
public List<int> GetData(int groupId)
{
return db.ts_grp_perm_mapping
.Where(c => c.grp_id == groupId)
.Select(c => c.Perm_id)
.ToList();
}
我已将参数名称调整为更常规 - 我强烈建议您将属性名称(ts_grp_perm_mapping
,grp_id
,Perm_id
)调整为更多传统的。