以下は、構築しているASPMVC3サイトで使用する2つのViewModelです。その下のコードでは、という名前の変数のプロパティのTradingPartners
IList
プロパティを設定しようとしています。AgentIdDetail
AgentWithTraining
bigAgent
よりよく説明するために:
bigAgent
はAgentWithTraining
AgentWithTraining
AgentIdDetail
ICollection
プロパティ
AgentIdDetail
には、IList
次の名前のリストオブジェクトがあるため、リストオブジェクトがあります。TradingPartner
public class AgentWithTraining
{
public Monet.Models.Agent Agent { get; set; }
public ICollection<AgentProdTrainDetail> AgentProdTrainDetails { get; set; }
public ICollection<AgentIdDetail> AgentIdDetails { get; set; }
}
public class AgentIdDetail
{
public string AgentId { get; set; }
public string CompanyCode { get; set; }
public IList<string> TradingPartners { get; set; }
}
問題は次のコード行です。
bigAgent.AgentIdDetails = new AgentIdDetail();
これは私にエラーを与えます:
Cannot implicitly convert type 'Monet.ViewModel.AgentIdDetail' to 'System.Collections.Generic.ICollection<Monet.ViewModel.AgentIdDetail>'. An explicit conversion exists (are you missing a cast?)
誰かが私が初期化する方法を説明できますかbigAgent.AgentIdDetails
?以下は、役立つ場合に備えて、私が使用しているコードの完全なセクションです。
//Grab Trading partner information and add it to 'trainlist' object
List<AgentIdToTradingPartner>tradingParter = new List<AgentIdToTradingPartner>();
var symNumToAgId = from s in db.SymetraNumberToAgentId
where s.SymetraNumber == id
select s;
//*******************************************
//This line is causing the problem
//*******************************************
bigAgent.AgentIdDetails = new AgentIdDetail();
foreach (var s in symNumToAgId)
{
AgentIdDetail item = new AgentIdDetail();
item.AgentId = s.AgentId;
item.CompanyCode = s.CompanyCode;
tradingParter = db.AgentIdToTradingPartner
.Where(r => r.AgentId == s.AgentId).ToList();
item.TradingPartners = new List<string>();
foreach (var t in tradingParter)
{
item.TradingPartners.Add(t.TradingPartner.ToString());
}
bigAgent.AgentIdDetails.Add(item);
}