私の.NETでrustyかもしれませんが、ここで私の問題を解決することはできません。System.NullReferenceException - ヘルプ
私は "null"例外をチェックしないため、エラーが発生することがわかりますが、なぜnullであるのかわかりません。
tNewObjFolder.cmdSetsはnullですがICollectionですので、Addを使用してその右にtNewObjCmdSetを追加できますか?
私はforeachの(*内のvar tCmdSets)を削除した場合、それは動作します(しかし、私はovislyだ第二のforeachを実行し、そこcmdSets.Add機能に何も追加してみたことがないためにしないでください...すべてのヘルプがにappriciatedさ
。
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data;
using System.Data.Entity;
using System.Data.Objects;
namespace imageController.Models
{
public class settingsModels
{
public class objFolder
{
public decimal id { get; set; }
public string name { get; set; }
public string description { get; set; }
public string bulkDirectory { get; set; }
public ICollection<objCmdSet> cmdSets { get; set; }
}
public class objCmdSet
{
public decimal id { get; set; }
public string name { get; set; }
public string command { get; set; }
public string destination { get; set; }
public string filetype { get; set; }
public decimal? imageId { get; set; }
public decimal? folderId { get; set; }
}
public interface ISettingsService
{
List<objFolder> getFolders();
}
public class settingsServices : ISettingsService
{
private settingsEntities _entities = new settingsEntities();
public List<objFolder> getFolders()
{
ICollection<objFolder> tmpFolders = new Collection<objFolder>();
foreach (var tFolders in _entities.IMG_SETTINGS_FOLDERS)
{
objFolder tNewObjFolder = new objFolder();
tNewObjFolder.id = tFolders.SETTINGS_FOLDER_ID;
tNewObjFolder.name = tFolders.SETTINGS_FOLDER_NAME;
tNewObjFolder.description = tFolders.SETTINGS_FOLDER_DESCRIPTION;
tNewObjFolder.bulkDirectory = tFolders.SETTINGS_FOLDER_BULK;
foreach (var tCmdSets in _entities.IMG_SETTINGS_CMDSETS.Where("it.SETTINGS_FOLDER_ID = @folderid", new ObjectParameter("folderid",tFolders.SETTINGS_FOLDER_ID)))
{
objCmdSet tNewObjCmdSet = new objCmdSet();
tNewObjCmdSet.id = tCmdSets.SETTINGS_CMDSET_ID;
tNewObjCmdSet.name = tCmdSets.SETTINGS_CMDSET_NAME;
tNewObjCmdSet.command = tCmdSets.SETTINGS_CMDSET_COMMAND;
tNewObjCmdSet.destination = tCmdSets.SETTINGS_CMDSET_DESTINATION;
tNewObjCmdSet.filetype = tCmdSets.SETTINGS_CMDSET_FILETYPE;
tNewObjCmdSet.imageId = tCmdSets.SETTINGS_IMAGETYPE_ID;
tNewObjCmdSet.folderId = tCmdSets.SETTINGS_FOLDER_ID;
tNewObjFolder.cmdSets.Add(tNewObjCmdSet);
}
tmpFolders.Add(tNewObjFolder);
}
return tmpFolders.ToList<objFolder>();
}
}
}
}
関連コードを投稿してください。 –
cmdSetは空のインターフェイスなので、nullです。あなたはtempFoldersのような具体的なリストオブジェクトでそれを埋める必要があります。 –