i have method
public createmodule getmoduledetails(long id) { var module = (_dbsis.modules.where(t => t.id == id).select(m => new createmodule { id = id, moduleid = m.moduleid, typename = m.moduletype.typename, kindname = m.moduletype.modulekind.kindname, properties = m.propertyconfiguration.propertyinstances.select( x => new property { name = x.property.name, value = x.value }) })); return (module.firstordefault()); } in method lets module id 40 has 2 property name , 2 property values. wanted have function returns 2 of property names , values, properties field above function of type ienumerable. did doesn't work right now
public list<property> getmoduleproperties(long id) { var moduleproperties = _dbsis.modules.where(m => m.id == id).selectmany(p => new property() { name = p.propertyconfiguration.propertyinstances.select(z=>z.property.name), value = p.propertyconfiguration.propertyinstances.select(x=>x.value) }); return (moduleproperties); } but line assign name , value using linq shows error, because linq expression returns 2 names name field , 2 values value field.
how can solve this, method returns proper list of values?
actually, right module has 2 property names: physical id, , firmwareversion , 2 values: 123456 , 1.02.
it looks want:
return _dbsis.modules.where(t => t.id == id) .selectmany(m => m.propertyconfiguration.propertyinstances) .select(i => new property { name = i.property.name, value = i.value }) .tolist(); or alternatively:
return _dbsis.modules.where(t => t.id == id) .selectmany(m => m.propertyconfiguration.propertyinstances.select(i => new property { name = i.property.name, value = i.value }) .tolist();
Comments
Post a Comment