1 つのアイテムを返す linq クエリがあります。私が行うmyList.Select(p => p.ID)
と、null 参照例外がスローされますが、問題ありませんmyList.First().ID
。私もすでに試しmyList.ToList().Select(p => p.ID)
て失敗しました。
最も奇妙なことは、それが別のPCで動作することです...
何か案が?
コードの更新
var test = A2012_DomainDB.GetGadgetDomainsForUser(userID);
var viewableGadgetIDs = test.Where(p => p != null).Select(p => p.GadgetID); // this line fails
public static IEnumerable<A2012_Domain_Gadget> GetGadgetDomainsForUser(int userID)
{
var db = Database_Factory.EVISION_EMAGINE_DB;
var viewableDomainIDs = GetDomainsForUser(userID).Select(p => p.DomainID);
var result = db.A2012_Domain_Gadget.Where(p => viewableDomainIDs.Contains(p.DomainID));
return result;
}
public static List<A2012_Domain> GetDomainsForUser(int userID)
{
var db = Database_Factory.EVISION_EMAGINE_DB;
List<int> viewableIDs = new List<int>();
List<A2012_Domain> domains = new List<A2012_Domain>();
viewableIDs.AddRange(db.A2012_Domain_User.Where(p => p.UserID == userID).Select(p => p.DomainID));
viewableIDs.ForEach(i =>
{
domains.Add(db.A2012_Domain.Where(p => p.DomainID == i).Single());
});
return domains;
}