通过linq访问数据库的返回值

时间:2015-06-02 20:19:22

标签: c# asp.net asp.net-mvc linq

我需要向数据库发送一个值 这是我的代码

var concerthallID = from _concert in db.tbl_Content_Context
    join _concerthall in db.tbl_Concert_ConcertHall on _concert.ContextID equals _concerthall.ContextID
    where _concert.EnContextID == concertid
    select _concerthall.ConcertHallID;

如何将ConcertHallID设置为变量?

2 个答案:

答案 0 :(得分:1)

您的查询将返回Iqueryable,因此如果它将返回一行,或者您需要第一行,请在代码后使用此行:

var ID = concerthallID.FirstOrDefault();

答案 1 :(得分:1)

您需要选择一个concert并在确定它不为空后从中选择id,代码应该是这样的:

var concert = (from _concert in db.tbl_Content_Context
    join _concerthall in db.tbl_Concert_ConcertHall on _concert.ContextID equals _concerthall.ContextID
    where _concert.EnContextID == concertid
    select _concert).SingleOrDefault();

var concerthallID = 0;
if (concert !=null)
    concerthallID = concert.ConcertHallID;

请记住用try catch块围绕它,以确保单个只返回一个。