You can pass the device object directly as part of your @onchange event using a Lambda expression
<select class="rack" @onchange="(e)=>NonBulkLocationSelected(e, device)">
in code you then have
protected void NonBulkLocationSelected(ChangeEventArgs e, Device device)
{
var selecteditem = e.Value;
}
The @onchange event produces a ChangeEventArgs object. You capture this as "e" and pass it into the call to event handler along with your device object.