loki
loki

Reputation: 2966

How can i use select to string in linq?

How cani use below codes string id = ( from in .....) how?

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

How can i do above wthout using below?

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;

Upvotes: 0

Views: 270

Answers (4)

Manish Basantani
Manish Basantani

Reputation: 17499

Just for variety...

query.Take(1)    

Upvotes: 1

anishMarokey
anishMarokey

Reputation: 11397

if you want to retrieve a single result user FirstOrDefault() or First().

If you use First() and the result is null.It will throws exception but not in 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();

Upvotes: 2

MarkB29
MarkB29

Reputation: 4892

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

Upvotes: 4

leppie
leppie

Reputation: 117220

query.Single()   

That's it.

Upvotes: 4

Related Questions