Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LINQ to SQL: Selecting Name (string) by id (smallint)

Tags:

c#

sql

linq

I need to retrieve an id's name (assessment name)

 public int GetAssessmentNo(int AssessmentNo)
        {
            int AssNo = (from a in contxt.View_Assessment
                         where a.id == AssessmentNo
                         select a.AssessmentName);
            return AssNo;
        }

Cannot implicitly convert type System.Linq.IQueryable' to int

like image 967
user3247075 Avatar asked Dec 11 '25 03:12

user3247075


2 Answers

Your query returns a set of integers.

Use one of these: First(), Single(), FirstOrDefault(), SingleOrDefault()

public int GetAssessmentNo(int AssessmentNo)
{
    int AssNo = (from a in contxt.View_Assessment
                 where a.id == AssessmentNo
                 select a).Single().AssessmentName;
    return AssNo;
}

or:

public int GetAssessmentNo(int AssessmentNo)
{
    int AssNo = contxt.View_Assessment.Single(a => a.id == AssessmentNo).AssessmentName;
    return AssNo;
}
like image 51
dovid Avatar answered Dec 13 '25 16:12

dovid


Linq defaultly returns group of things, linq doesn't know that your id is uniq.

(from a in contxt.View_Assessment where a.id == AssessmentNo select a.AssessmentName).First() or FirstOrDefault.

if you want to receive default value if no proper item is found.

like image 40
Panu Oksala Avatar answered Dec 13 '25 16:12

Panu Oksala



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!