У меня есть следующие классы, которые имеют то же переменное, но один из них обнуляемое, другие не потому, что является первичным ключом в этой таблице:же имя переменного в другом классе, но один обнуляемый
[DataServiceKey("OrderID")]
public class Order
{
public int OrderID { get; set; }
public int? EmployeeID { get; set; }
// ...other properties...
// ...
public Employee Employees { get; set; }
}
[DataServiceKey("EmployeeID")]
public class Employee
{
public int EmployeeID { get; set; }
// ...other properties...
// ...
public IEnumerable<Order> Orders { get; set; }
}
Основная идея между этими 2 классами порядок может принадлежать 1 Работнику, но также может существовать порядок, который не назначен любому сотруднику еще, сотрудник должен иметь по крайней мере 1 порядка или более чем на 1 Теперь я пытаюсь создать связь между классом Order
и классом Employee
, и вот как я это сделал:
// Create an association between Orders and Employees
var _es = _Employees.ToDictionary(e => e.EmployeeID);
var _os = _Orders.ToLookup(o => o.EmployeeID);
foreach (var o in _Orders) o.Employees = _es[o.EmployeeID];
foreach (var e in _Employees) e.Orders = _os[e.EmployeeID];
Я получил cannot convert from "int?" to "int"
ошибку в _es[o.EmployeeID]
, я перепробовал все решения, предусмотренные в here, но ни один из них не работает для меня ... Я также попытался использовать _es[o.EmployeeID.Value]
, он действительно решает ошибку, но на этот раз это gaves me System.InvalidOperationException
Ошибка при запуске. Есть ли какие-либо возможные решения для моей проблемы?
вы можете попробовать, как этот 'Еогеасп (вар о в _Orders) o.Employees = _es [o.EmployeeID] ?? Default (int); ' – Webruster