好的,這裏是一個枚舉,對吧?LinqToSql InvalidCastException
public enum BrandSafe : short
{
Yes = 1,
No = -1,
Unknown = 0
}
基本的數據類型短,OK,到目前爲止好。
這裏有一個表:
現在,這裏是一個DTO類:
public class VurlRow
{
public long VurlRMXID { get; set; }
public string VurlString { get; set; }
public Enums.BrandSafe BrandSafe { get; set; }
}
最後,這裏是一個LINQ方法:
List<VurlRow> vurls = (from vurl in m_Context.Vurls
select new VurlRow()
{
BrandSafe = (Enums.BrandSafe)vurl.BrandSafe,
VurlRMXID = vurl.VurlRMXID,
VurlString = vurl.VurlString
}).ToList();
我我也試過(Enums.BrandSafe)Enum.ToObject(typeof(Enums.BrandSafe),vurl.BrandSafe)來產生Enum。當我刪除品牌BrandSafe =(Enums.BrandSafe)vurl.BrandSafe時,該調用起作用,但在該行中,我得到一個InvalidCast異常。
「指定的演員表無效。」
似乎它應該對我完全有效,但我知道什麼,對於enums和linq顯然不夠,任何人都可以幫忙嗎?
嘗試'(Enums.BrandSafe)(short)vurl.BrandSafe' – Dyppl
vurl.BrandSafe是一個簡短的例子。 – cerhart
你能提供一個完整的異常信息嗎? – Dyppl