Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有实体框架的复杂数据采集_C#_.net_Entity Framework - Fatal编程技术网

C# 具有实体框架的复杂数据采集

C# 具有实体框架的复杂数据采集,c#,.net,entity-framework,C#,.net,Entity Framework,我第一次深入研究实体框架——使用VisualStudio2010,因为我目前还不能升级,我认为它是V4 我很难理解的一个概念是如何处理需要从数据库中计算出来的复杂计算值 作为一个非常简单的例子,如果我有两个实体:一个是父实体,一个是子实体——是否可以获取父实体的实例,然后从子实体的数量中计算出一个值,而不必加载子实体 通常我会在数据库中创建get/update/delete存储过程,在get中我会有一个Select Count*From Child,其中ChildId=ParentId为NumC

我第一次深入研究实体框架——使用VisualStudio2010,因为我目前还不能升级,我认为它是V4

我很难理解的一个概念是如何处理需要从数据库中计算出来的复杂计算值

作为一个非常简单的例子,如果我有两个实体:一个是父实体,一个是子实体——是否可以获取父实体的实例,然后从子实体的数量中计算出一个值,而不必加载子实体

通常我会在数据库中创建get/update/delete存储过程,在get中我会有一个Select Count*From Child,其中ChildId=ParentId为NumChildren,并根据父项存储该值

这是一个非常简单的例子,我想做的是非常复杂的,涉及多个层和特定属性。因此,我不想为了得到计数而加载每个实体


但在实体框架中如何做到这一点呢?

Count1是一个非常简单的示例,不会增加任何性能影响。但我相信您的复杂逻辑会对性能产生一些影响。最好的方法是在数据库端创建一个DB视图,并将一个实体映射到该视图。你怎么想?谢谢@Gaurav-如果我理解正确,你是说我必须在数据库中手动创建一个视图,复制我示例中父表中的所有单独列,然后在框架中为此视图创建一个新实体?在这种情况下,您有3个实体,父实体、子实体和父视图?这就是你的建议吗?它看起来可能不干净,但会给你更好的表现。是的,我明白了-谢谢:-