である私は、同じ変数を持っている以下のクラスを持っているが、そのうちの一つは、それがそのテーブルの主キーであるため、他の1ではない、NULL可能である:異なるクラスで同じ変数名が、1つは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; }
}
これらの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];
私は_es[o.EmployeeID]
でcannot convert from "int?" to "int"
エラーを得た私も_es[o.EmployeeID.Value]
を使用しようとしました、私はhereで提供すべてのソリューションを試してみましたが、それらのどれも私のための仕事ではない...、それはエラーを解決しないが、この時、それ私はそれを実行するとSystem.InvalidOperationException
エラーが発生します。可能な解決策が私の問題に適用されるでしょうか?
あなたは[o.EmployeeID]この 'foreachの(_Orders中のvar O)o.Employees = _esのように試みることができます? Default(int); ' – Webruster