C# 自定义查询的实体框架预生成视图

C# 自定义查询的实体框架预生成视图,c#,wpf,entity-framework,C#,Wpf,Entity Framework,我有以下数据结构EntityObject(单位、产品等)1:1翻译1:n翻译项 要填充组合框和列表视图,我只需通过以下方式查询翻译: public CollectionViewSource GetShowColumns() { CollectionViewSource result = new CollectionViewSource(); List<UnitDTO> units = new List<UnitDTO>();

我有以下数据结构EntityObject(单位、产品等)1:1翻译1:n翻译项

要填充组合框和列表视图,我只需通过以下方式查询翻译:

    public CollectionViewSource GetShowColumns()
    {
        CollectionViewSource result = new CollectionViewSource();
        List<UnitDTO> units = new List<UnitDTO>();
        var qry = from x in _context.Units
                  select new
                  {
                      x.Name,
                      x.Name.Translations,
                      x.Id
                  };

        foreach (var temp in qry)
        {
            units.Add(new UnitDTO() { Id = temp.Id, Name = temp.Name });
        }
        result.Source = units;
        return result;
    }
public CollectionViewSource GetShowColumns()
{
CollectionViewSource结果=新建CollectionViewSource();
列表单位=新列表();
var qry=从x开始,在_context.Units中
选择新的
{
x、 名字,
x、 名字,翻译,
x、 身份证
};
foreach(qry中的var温度)
{
添加(新的UnitDTO(){Id=temp.Id,Name=temp.Name});
}
结果:来源=单位;
返回结果;
}
My DTO对象包含Id和转换属性

我已经习惯于生成视图。但我仍然感受到了温暖和寒冷的询问之间的巨大差异


我该怎么办

您所经历的、与性能相关的、与数据结构相关的差异是什么?问题是什么?查询需要3到5秒的时间,而不到0.5秒的时间。编译查询可能会有所帮助。如果您使用的是.NETFramework4.5,那么在默认情况下,您将获得此功能,因为查询是自动编译的。第一次运行查询需要更多的时间。你也应该看看