簡體   English   中英

Linq查詢以int數組形式獲取查詢結果

[英]Linq query to get result of query as array of int

這是我的桌子。

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);
}

您當前正在選擇整行,而不僅僅是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_mappinggrp_idPerm_id )也調整為更加常規。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM