代码之家  ›  专栏  ›  技术社区  ›  loki

如何使用select在linq中设置字符串?

  •  0
  • loki  · 技术社区  · 16 年前

    using (StockProcedureDataContext stock = new StockProcedureDataContext())
                {
    
    
                    id = (from m in stock.StockTools
                          from ss in stock.RefStockStatus
                          where (m.statusid == 3 || m.statusid == 5) &&
                          ss.id == m.statusid && m.id == ItemID
                          select m.id);

    我怎样才能做到上面不使用下面?

    id = (from m in stock.StockTools
                          from ss in stock.RefStockStatus
                          where (m.statusid == 3 || m.statusid == 5) &&
                          ss.id == m.statusid && m.id == ItemID
                          select m).ToList()[0].id;
    4 回复  |  直到 16 年前
        1
  •  2
  •   anishMarokey FIre Panda    16 年前

    如果要检索单个结果用户 FirstOrDefault() First() .

    如果你使用 First() 结果为空。它将抛出异常,但不在 FirstOrDefault()

    var query = (from m in stock.StockTools
                          from ss in stock.RefStockStatus
                          where (m.statusid == 3 || m.statusid == 5) &&
                          ss.id == m.statusid && m.id == ItemID
                          select m.id).FirstOrDefault();
    
        2
  •  4
  •   leppie    16 年前
    query.Single()   
    

    就这样。

        3
  •  4
  •   MarkB29    16 年前
    id = (from m in stock.StockTools
                          from ss in stock.RefStockStatus
                          where (m.statusid == 3 || m.statusid == 5) &&
                          ss.id == m.statusid && m.id == ItemID
                          select m.id).FirstOrDefault();
    
        4
  •  1
  •   Manish Basantani    16 年前

    只是为了多样性。。。

    query.Take(1)