public void RecordMeasurement(string RTUName, int value, string type, DateTime time) { var measurement = new Measurement(); try { measurement.Value = value; var rtuId = (from r in databaseModel.RTUs where r.RTUId == RTUName select r.Id).FirstOrDefault(); measurement.RTUId = rtuId; measurement.Type = type; measurement.Time = time; databaseModel.Measurements.Add(measurement); databaseModel.SaveChanges(); } catch (Exception e) { Console.WriteLine("Error : {0}", e.Message); Console.ReadKey(); } var locationId = (from r in databaseModel.RTUs where r.RTUId == RTUName select r.Location).FirstOrDefault(); var location = (from l in databaseModel.Locations where l.Id == locationId select l.LocationName).FirstOrDefault(); SendingMeasurement m; m.RTUName = RTUName; m.location = location; m.time = time; m.type = type; m.value = value; callback.OnMeasurementRecorded(m); }