0
我闡述了在這個問題上:Create object from LINQ對象具有自定義列表
我不得不從列表中contactsList改變其中將包含名稱和ID的列表。
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;
我得到一個指定的強制轉換無效
我在做什麼錯誤嗎?
UPDATE
我得到一個在這裏突出錯誤:
new ContactInfo
{
PersonName = row["PERSON"].ToString(),
PerrsonId = (Int32)row["PERSONID"]
}).
嗯,我們甚至看不到'ContactTypeContactId'在你的類實例。 – Arran
我的猜測是,行[「PERSONID」]不是'Int32',而是一個'long'。 – McGarnagle
拋出異常在哪裏?在那個位置,被施放的物體的實際價值是多少,投射到什麼地方?賠率是在這一點上,你需要將它轉換爲它到底是什麼,然後*轉換*它,而不是鑄造它,你需要它的人。 – Servy