I have encountered an error around my variable addresslist
.
Cannot implicitly convert type 'System.Collections.Generic.List<Object>' to 'string'
I've been trying to populate my model that has a nested List<Object>
with a data from a CSV file but I've encountered this error.
Here is the code where I tried to populate my nested List<Object>
public class FundTransferMap : ClassMap<FundTransfer>
{
public FundTransferMap()
{
Map(m => m.senderRefId);
Map(m => m.sender).ConvertUsing(row =>
{
var senderlist = new List<Sender>
{
new Sender { name = row.GetField("senderName"),
address = Map(m => m.sender).ConvertUsing(row1 =>
{
var addresslist = new List<Address>
{
new Address { line1 = row1.GetField("senderAddrLine1"),
line2 = row1.GetField("senderAddrLine2"),
city = row1.GetField("senderCity"),
province = row1.GetField("senderProvince") }
};
return addresslist;
})
},
};
return senderlist;
});
}
}
Here are my models
public class FundTransfer
{
public String senderRefId { get; set; }
public List<Sender> sender { get; set; }
}
public class Sender
{
public String name { get; set; }
public List<Address> address { get; set; }
}
public class Address
{
public String line1 { get; set; }
public String line2 { get; set; }
public String city { get; set; }
public String province { get; set; }
}
You only need to use the ConvertUsing
once.
public class FundTransferMap : ClassMap<FundTransfer>
{
public FundTransferMap()
{
Map(m => m.senderRefId);
Map(m => m.sender).ConvertUsing(row =>
{
var senderlist = new List<Sender>
{
new Sender { name = row.GetField("senderName"),
address = new List<Address>
{
new Address { line1 = row.GetField("senderAddrLine1"),
line2 = row.GetField("senderAddrLine2"),
city = row.GetField("senderCity"),
province = row.GetField("senderProvince") }
}
},
};
return senderlist;
});
}
}