zoukankan      html  css  js  c++  java
  • Linq 中使用Contains()方法时,遇到的一个问题,做个标记

    [Dependency]
    public IKu<Suifang> Suifangku { get; set; }
    ...
    [CatchException()]
    public ActionResult Index(..., long suifangJibieId = -1)
            {
                using (new UnitOfWorkScope())
                {
                    ...
                    IQueryable<Suifang> query = Suifangku ;
                    List<SelectListItem> suifangjibies = new List<SelectListItem>();
                    suifangjibies.Add(new SelectListItem
                    {
                        Text = "不限随访级别",
                        Value = "-1",
                        Selected = (-1 == suifangJibieId),
                    });
                    ...
                    //正确代码
    query
    = query.Where(m => suifangjibies.Where(x => x.Value != "-1").Select(x => long.Parse(x.Value)).ToList().Contains(m.JibieId));//m.JibieId数据类型为long //错误代码 //query = query.Where(m => suifangjibies.Where(x => x.Value != "-1").Select(x => x.Value).ToList().Contains(m.JibieId.ToString()));//m.JibieId数据类型为long
    ...

      数据库依赖注入查询时,若属性类型是long类型,当你转化为string类型进行Contains(m.JibieId.ToString())条件筛选时,将会报错。见代码段示例。

  • 相关阅读:
    继承
    面向对象_封装练习
    ajax分页与组合查询配合使用
    Linq的分页与组合查询的配合使用
    发送邮件和数据导出
    GridView的使用
    母版页的使用
    DIV+CSS命名规范
    Ajax基础
    jQuery动画效果
  • 原文地址:https://www.cnblogs.com/elephant/p/2547952.html
Copyright © 2011-2022 走看看