从MVC中的另一个列表创建列表

时间:2016-03-10 13:20:14

标签: linq asp.net-mvc-5

我有一个从数据库填充的列表,其中包含属性code_type,description,min_value,max_value,id等

我想从列表1创建另一个列表,其中过滤条件值为code_type,只有三个属性 即描述,min_value,&最大值(不需要code_type)。此修订列表将用于绑定MVC中的View \请帮助相同的

以下是我的相同代码。如果代码=“04”那么填写种姓和列表的列表等等。我可以使用Linq吗?

public class MyPrefernce
{
   public string memberid { get; set; }
   public string code { get; set; }
   public string description { get; set; }
   public long? min_value { get; set; }
   public long? max_value { get; set; }
   public long? sysid { get; set; }
   public string isChecked { get; set; }
   public List<Caste> lcaste;



   public List<MyPrefernce> getPrefence(long sysmemberid, string memberid)
   {
      List<MyPrefernce> lstObj = new List<MyPrefernce>();
      string strQuery = "proc_Get_Member_Preference";
      Connection cobj = new Connection();
      string strConnection = cobj.getConnectionString();
      SqlConnection con = new SqlConnection(strConnection);
      con.Open();
      SqlCommand cmd = new SqlCommand(strQuery, con);
      cmd.CommandType = CommandType.StoredProcedure;
      cmd.Parameters.AddWithValue("@nSysMemberId", sysmemberid);
      SqlDataAdapter ada = new SqlDataAdapter(cmd);
      DataSet ds = new DataSet();
      ada.Fill(ds);
      if (ds.Tables[0].Rows.Count > 0)
      {
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
          {
            MyPrefernce obj = new MyPrefernce();
            obj.code = ds.Tables[0].Rows[i]["code"].ToString();
            obj.isChecked = ds.Tables[0].Rows[i]["isChecked"].ToString();
            obj.min_value = Convert.ToInt64(ds.Tables[0].Rows[i]["min_value"]);
            obj.max_value = Convert.ToInt64(ds.Tables[0].Rows[i]["max_value"]);
            obj.sysid = sysid;
            obj.memberid = memberid;
            lstObj.Add(obj);
           }
         }
       return lstObj;
        }
    }

public class Caste
{
   public int sysId { get; set; }
   public string decription { get; set; }
   public string? isChecked { get; set; }
}

1 个答案:

答案 0 :(得分:0)

您应该创建一个新类,定义您需要的字段,并使用auto-mapper映射类之间的字段。