我正在使用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语句中,看看是否所有东西都还在工作? –