나는 같은 변수가 다음과 같은 클래스를 가지고 있지만, 그 중 하나는 해당 테이블의 기본 키이기 때문에 다른 하나가 아닌, 널 (NULL) 입력 :같은 변수를 다른 클래스의 이름 그러나 사람은 널 (NULL)
[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; }
}
는이 두 클래스 사이의 일반적인 생각은 주문이 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];
내가 _es[o.EmployeeID]
에 cannot convert from "int?" to "int"
오류가 발생했습니다, 나는 here에서 제공하는 모든 솔루션을 시도했지만, 그들 중 누구도 나를 위해 작동하지 않습니다 ... 나는 또한 _es[o.EmployeeID.Value]
를 사용하는 것을 시도했다, 그것은 오류 이번에 그것을 해결하지 나를 실행할 때 System.InvalidOperationException
오류가 발생합니다. 가능한 해결책이 내 문제에 적용됩니까?
는이'foreach는 (_Orders에 var에 O) o.Employees = _es [o.EmployeeID]처럼 시도 할 수 있습니다? Default (int);' – Webruster