我正在阐述这个问题:Create object from LINQ
我必须将contactsList从List更改为包含Name和Id的List。
public class DataItem
{
public String Location { get; set; }
public List<ContactInfo> ContactsList { get; set; }
}
public class ContactInfo
{
public String PersonName { get; set; }
public Int32 PersonId { get; set; }
}
var myData= from table in sqlResults.AsEnumerable()
group table by table["LOCATION"] into groupby
select new DataItem
{
Location = groupby.Key.ToString(),
ContactsList = groupby.Select(row => new ContactInfo
{
PersonName = row["PERSON"].ToString(),
PersonId = (Int32)row["PERSONID"]
}).ToList()
};
//TreeView
tv.DataContext = BrokerData;
我收到指定的广告投放无效
我在这里做错了什么?
更新
我在这里收到一个突出显示的错误:
new ContactInfo
{
PersonName = row["PERSON"].ToString(),
PerrsonId = (Int32)row["PERSONID"]
}).
答案 0 :(得分:2)
而不是弱类型的索引器
PersonId = (Int32)row["PERSONID"]
使用强类型Field
扩展方法
PersonId = row.Field<Int32>("PERSONID")
如果PERSONID
可以为null,并且您希望在这种情况下存储null
,请将PersonId置为可空:
public Int32? PersonId { get; set; }
和
PersonId = row.Field<Int32?>("PERSONID")