我正在使用EF並且有一些查詢。這是我的代碼SELECT語句中的Linq靜態方法
IEnumerable<Customer> customers = from c in context.Customers
select new Customer
{
ID = c.ID,
Name = c.Name,
LastName = c.LastName,
DepID = c.DepID,
Editable = SomeStruct.Check(c.DepID)
}
public struct SomeStruct
{
public static bool Check(int depID)
{
//Here I have some logic
}
}
它工作正常。 但是,如果我聲明SomeStruct
爲class
它將會失敗。
我的問題是:
- 它爲什麼會發生?
- 使用靜態函數是否強制查詢執行?
我可以證實:如果'SomeStruct'是'class',但該方法仍然是'static',那麼它*不工作 - 我的理解是否正確?如果是這樣:會發生什麼?什麼是例外? –
當SomeStruct是一個struct時,你確定你的代碼正在工作嗎?你能否將ToList()添加到你的select語句中,看看是否所有東西都還在工作? –