Sco*_*ott 0 c# silverlight linq-to-entities entity-framework anonymous-types
我不确定我是否正确地走这条路.我有一个Silverlight应用程序,并使用实体框架的很多.我有两个实体映射到我的数据库:标题和详细信息.我想提交一个左外联接来获取所有标题和详细信息 - 即使标题记录没有详细记录.这是我想从客户端运行的Linq查询:
var query =
from head in storeContext.Headers
join detail in storeContext.Details
on head.HeadId equals details.HeadId
into group
select new
{
Desc = head.Description,
MyCount = group.Count()
};
Run Code Online (Sandbox Code Playgroud)
由于这是Silverlight,我需要构建我的查询,然后使用storeContext.Load<T>()我的域服务(客户端上下文)中的方法将其提交给服务器.因为这个方法期待一个类型,我不知道如何构建调用以返回匿名类型,因为我在上面?
我做错了吗?我应该在这样的事情上使用Invoke方法吗?如果是这样,我如何定义我想要返回的类型?
是否有人可以指出我正确的方向,我真的会批评它.
谢谢......斯科特
您无法返回匿名类型.它们必然是当前范围的本地.
您的查询看起来正确,但您需要返回一个命名类型:
var query =
from head in storeContext.Headers
join detail in storeContext.Details
on head.HeadId equals details.HeadId
into group
select new MyHelper // SPECIFY A CLASS HERE
{
Desc = head.Description,
MyCount = group.Count()
};
Run Code Online (Sandbox Code Playgroud)
您的查询方法需要返回IEnumerable<MyHelper>:
public IEnumerable<MyHelper> GetInfo()
{
var query ...
return query;
}
Run Code Online (Sandbox Code Playgroud)