asp.net - 类似于 .NET 中的“稀疏字段集”
问题描述
我试图找到描述我想要什么以及它是否存在的词汇。
我有一个表格,其中显示了来自大型对象的一些数据点。仅为表加载整个对象非常慢。有没有办法只将我想要的几个属性传递到前面而不必定义新对象?
我在JSON API中发现了一种名为 Sparse Fieldsets 的东西,我想知道 .NET 是否存在类似的东西以另一个名称。
更新: 与另一位编码员交谈时,我意识到在后端和数据库之间实现类似的东西并对该表进行特定调用可能更有意义。如果我需要创建一个新对象来支持这一点,我仍然需要解决。我认为如果我只保留相同的对象但将表不需要的所有连接对象都清空,它仍然会更快。但也许这被认为是不好的做法?此外,我们正在使用实体框架来实现它的价值。
更新 2:
我刚刚创建了一个新查询,没有所有这些,.Include()
并且可以很好地满足我的需要:
_dataContext.ApplePie
.Include(f => f.Apples).ThenInclude(f => f.Apple)
.Include(f => f.Sugars).ThenInclude(f => f.MolecularStructure)
.Include(f => f.Recipe)
解决方案
Maybe you are looking for Anonymous Types?
For example, if you had a typed object with three properties, but you only wanted to operate on two:
var threePropThing = new ThreePropertyThing { Id = 1, Message = "test", ExtraProperty = "ex" };
var myAnonThing = new { Id = threePropThing.Id, Message = threePropThing.Message };
Best practice would be to not pass this anonymous object around. But, if you really needed to, you could return it as type object
.
Typically, when passing data around in c#, you want to have it typed.
推荐阅读
- python - ValueError:输入形状的预期轴 -1 的值为 51948,但接收到的输入形状为(无,52)
- tensorflow - AutoKeras:TypeError:“NoneType”和“int”的实例之间不支持“<”
- gtkmm - 如何计算存储在 Gtk::Grid 中的小部件?
- pnpm - 有没有办法在 PNPM 中将特定包裹排除在吊装之外?
- android - 如何在我的应用程序上显示来自 Firebase 存储的图像?
- java - 连接到 KNX IP 路由器的异常 - 参数无效
- html - Bootstrap 导航栏崩溃无法正常工作 || 导航栏折叠不显示点击链接
- nestjs - typeorm 在自定义记录器中保存调用超过 1000 次
- c# - 转换 JSON 格式 - C# 中的动态类
- arrays - Julia 代码优化:是时候使用 SIMD 了吗?