c# - Can someone help me understand the following line? -


    public team getteambyid(int id)       {     team team = ctx.teams.include("login").include("people").include("school").where(x => x.id == id && this.schoolslist.contains(x.school_id)).firstordefault();            ///         } 

ctx dataaccess obbject , schoolslist dataaccess property of type list. understsand part says x => x.id == id, part this.schoolslist.contains(x.school_id) makes no sense me. know x => x.id == id returns team objects match id passed in argument, how this.schoolslist.contains(x.school_id) work? how can able use school_id property (which property of team class)?

is first part of predicate (x => x.id == id) returning team object, , second part using returned object's school id? reason seems weird way things working since kinda thought in where() method taken returned something, instead of each condition returning something.

team team = ctx.teams                .include("login")                .include("people")                .include("school")                .where(x => x.id == id                             && this.schoolslist.contains(x.school_id))                .firstordefault(); 

with line retrieving first element of ctx.teams meets requirements imposed where clause

ctx.teams 

here calling table teams database through ctx

the include statements used join other tables join in sql , retrieves data within joined table.

.where(x => x.id == id              && this.schoolslist.contains(x.school_id)) 

here filtering table data line has id variable id , inside schoolslist.

firstordefault(); retrieves first item inside iqueryable returned where clause.

this can translated to:

team team = ctx.teams                .include(x => x.login)                .include(x => x.people)                .include(x => x.school)                .firstordefault(x => x.id == id                            && this.schoolslist.contains(x.school_id)); 

includes written less buggy , more oop. need following namespace system.data.entity.

** edit 1 **

i sort of understand not completely. how know x.school_id is? thought had included in question, edited in, , argument passed function "id." value of x.school_id passed contains coming from? team object returned condition x.id == id? – frostystraw

because where clause or firstordefault iteration sql through ctx.teams class of teams contains property school_id.

this possible entityframework, table represented class , class properties table columns.

ah! , when this.schoolslist.contains(x.school_id) calling list schoolslist on each "sql iteration" caused where.

it's doing:

list<team> teams = ctx.teams        .include("login")        .include("people")        .include("school")        .tolist();  team team = null; foreach (var item in teams) {     if (item.id == id && this.schoolslist.contains(item.school_id))     {         team = item;         break;     } } 

Comments

Popular posts from this blog

Fail to load namespace Spring Security http://www.springframework.org/security/tags -

sql - MySQL query optimization using coalesce -

unity3d - Unity local avoidance in user created world -