考慮下面的代碼:EF/LINQ的枚舉錯誤
public class RMAInfo
{
public enum RMAStatuses {
Undefined = 0, Approved = 1, Denied = 2,
Pending = 3, Received = 4, Closed = 5
}
public enum ReturnLocations { Undefined = 0, Utah = 1, Indy = 2 }
public RMAInfo()
{
ID = -1;
RMACode = string.Empty;
}
public int ID { get; set; }
public string RMACode { get; set; }
public string ResellerID { get; set; }
public RMAStatuses RMAStatus { get; set; }
}
private List<RMAInfo> GetRMAInfos_Internal(string resellerID)
{
List<RMAInfo> returnRMAInfos = new List<RMAInfo>();
using (Models.RMAEntities context = new Models.RMAEntities())
{
returnRMAInfos = (from r in context.RMAs
where r.ResellerID == resellerID
select new RMAInfo
{
ID = r.ID,
RMACode = r.RMACode,
ResellerID = r.ResellerID,
// error on next line!
RMAStatus = RMAInfo.RMAStatuses.Pending
}).ToList();
}
return returnRMAInfos;
}
我就分配到RMAStatus場得到一個錯誤。該錯誤是
指定的值不是類型的實例「Edm.Int32」
如果我註釋掉該行,它工作正常。
我也試圖做這個相同的代碼,而不使用EF,它似乎工作正常。
任何想法?
此代碼完美工作!謝謝!! – Scottie
跟進...我認爲這仍然是懶惰的,甚至稱這個屬性? – Scottie
@Scottie,它*不應該比你用EF填充你的對象的東西更加渴望。請記住,在你的問題中,你正在使用'.ToList()',無論你使用什麼提供者(-EF,-Objects等),它都是非常渴望的。 –