gpt4 book ai didi

c# - 如何在 Entity Framework 中获取实体的某些列?

转载 作者:行者123 更新时间:2023-11-30 14:56:39 25 4
gpt4 key购买 nike

假设我有一个包含超过 1000000 列的表。当我使用 LINQ To SQLEntity-Framework 时,所有查询都将用 c# 编写,如下所示:

EFContext.MyTableName.Where(row=>row.column1==someValue)
.Select(...)
.FirstOrDefault(...)
.Any(...)
...

如何只获取实体的部分列?例如,有什么方法可以只获取 1000000 列中的第 1、2、3 列?

注意:

结果数据的类型应在选择后保留,例如,如果不过滤某些列,结果类型为 Type1,过滤后结果类型为 Type1 非常重要,但过滤后的 Type1 的那些属性的值应为 null 或默认。

最佳答案

要只获得几个 ROWS,您可以使用:

.Take(3);

要仅获取一些您可以使用的列:

.Select(x => new MyType() { Column1 = x.Column1, Column2 = x.Column2 })

请注意,该对象现在未附加到对象上下文,因此它不会受到 SaveChanges() 的影响。但是您只会选择几列,而且类型仍然是正确的。

要获得自己的默认值而不是变量类型的框架默认值,您可以修改构造函数类型以设置默认值。

关于c# - 如何在 Entity Framework 中获取实体的某些列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22324064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com