Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Entity framework IEnumerable是通用数据集的合适容器吗?_Entity Framework - Fatal编程技术网

Entity framework IEnumerable是通用数据集的合适容器吗?

Entity framework IEnumerable是通用数据集的合适容器吗?,entity-framework,Entity Framework,使用实体框架,IEnumerable是用于发回通用数据集的正确容器吗?也就是说,当我不想发回一个对象列表,而只是一个通用的结果集时 public IEnumerable<object> SelectPlayerFirstAndLastNameList() { return (from p in rlpEntities.Players select new { p.PlayerFirstName, p.PlayerLastName }); } 谢谢。请查看此链接 这实际上取决于

使用实体框架,IEnumerable是用于发回通用数据集的正确容器吗?也就是说,当我不想发回一个对象列表,而只是一个通用的结果集时

public IEnumerable<object> SelectPlayerFirstAndLastNameList()
{
   return (from p in rlpEntities.Players select new { p.PlayerFirstName, p.PlayerLastName });
}
谢谢。

请查看此链接

这实际上取决于您的场景,但是当您需要迭代时,将使用IEnumerable,当您需要迭代、修改或排序数据时,将使用List

不可数- 名单- 您还可以使用泛型来传递您要查询的任何类型,例如

public IEnumerable<T> SelectPlayerFirstAndLastNameList<T>()
{
    return (IEnumerable<T>)(from p in rlpEntities.Players);
}
因此,您可以传递对象或已知定义的类型。你可以这么说

var x = SelectPlayerFirstAndLastNameList<YourClassHere>();
下面是,它讨论了IListinherits ICollection和IQueryable、ICollection、List的IEnumerableBase通用接口

下面是说明泛型的链接&它的区别和用法


看看你的linq,它是关于特定对象的&将来可以进一步扩展。IQueryable非常适合这种情况,因为它让客户机可以迭代/添加/删除项目。

我认为您所拥有的是正确的,但您可以自行决定是否使用它

在备注部分:

匿名类型是直接从对象派生的类类型,并且 不能强制转换为除对象以外的任何类型

传递匿名类型或包含匿名类型的集合 类型,作为方法的参数,可以将参数声明为 输入对象。然而,这样做违背了强类型的目的。 如果必须存储查询结果或将其传递到方法外部 边界,考虑使用普通的命名结构或类来代替 匿名类型


我的问题不是关于IEnumerable和List,而是关于其他东西。感谢使用泛型的最新答案@user3267781你对泛型的回答毫无意义,因为他在问这个问题。仔细看看他的方法,他用select new返回一个匿名查询,为了使您的通用方法工作,必须是select new T{},我没有返回匿名类型的列表,但是我仍然建议使用泛型,特别是当用户使用抽象类,并且想要查询降序对象类型时。毕竟,OP确实提到了通用数据集