1) Допустим, что
public class Company
{
public int Id { get; set; }
public string Name { get; set; }
public List<Employee> Employees { get; set; }
}
public class Employee
{
public int Id { get; set; }
public string FirstName { get; set; }
}
Тогда сохранить можно примерно так:
int employeeId;
int companyId;
using (var context = new EntitiesContext())
{
var employee = new Employee { FirstName = "John" };
var company = new Company { Name = "Contoso" };
company.Employees.Add(employee);
context.Companies.Add(company);
context.SaveChanges();
employeeId = employee.Id;
companyId = company.Id;
}
После SaveChanges() появятся айдишники, если они еще нужны где-то дальше (записи уже будут связаны в БД).
2. Если падает исключение, то пишите исключение в вопросе. Скорее всего
'LINQ to Entities does not recognize the method 'Int32 ToInt32 (System.String)','.
Делайте преобразование в число, вне LINQ,
var idInt = Convert.ToInt32(comboBoxServices.SelectedValuePath);
var perforList = from p in context.performers
join o in context.orderperformer on p.performerID equals o.perfromerID
where o.serviceID == idInt
select new { p.secondName, p.firstName, p.patronymic, o.price };