c# - 在 C# ASP.net 中链接多个数组的最佳方法

标签 c# asp.net-mvc .net-3.5 c#-3.0

我有 3 个来自网络服务的数组...

Countries : Consists of Key - Value
Regions   : Consists of Id - Name - CountryCode(fk: countries)
Areas     : Consists of Id - Name - CountryCode - RegionID(fk: regions)

(fk 只是显示它的信息位,外键,将其与前一个数组关联)

我一直不知道最好的方法(最优化的)是将它们链接在一起,LINQ Joining 看起来很头痛,而且我不确定 HashSets。

有什么想法吗?

*** 附加;* 这将作为应用程序存储在应用程序状态中,因为它需要每天刷新一次(在我看来,每天简单地刷新应用程序一次比存储在应用程序中更快)数据库并根据日期戳进行更新。

最佳答案

我很好奇为什么你说 LINQ Joining 看起来很令人头疼:这正是 LINQ to Objects 的用途(查询内存中的对象并提供诸如这些对象之间的联接之类的服务)。

LINQ 的一个潜在缺点是性能开销,但说实话,这对我来说还没有成为一个主要问题。

语法很简单 from obj1 in source1 join obj2 in source2 on <conditional> select {obj1.prop, obj2.prop}

这很大程度上反射(reflect)了 SQL,这正是其意图。

(使用您的示例:

from a in Areas
join r in Regions 
 on a.RegionID equals r.Id
join c in Countries 
 on r.CountryCode equals  c.Key
select new {c.Value, r.Name, a.Name, a.Id };

)

关于c# - 在 C# ASP.net 中链接多个数组的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1126057/

相关文章:

javascript - 是否可以在 spotfire 文本区域显示图像/消息以等待数据加载?

c# - 是否可以将自定义元数据添加到文件中?

javascript - 调试非侵入式验证(客户端)

asp.net - 我可以使用动态 GroupItemCount 创建 ListView 吗?

c# - 从字典中获取第一个元素

c# - Azure 服务总线上的主题 DefaultMessageTimeToLive 和订阅 DefaultMessageTimeToLive 之间的区别

c# - 如果已经打开则关闭子窗体

jquery - 带有 Bootstrap Menu Left not collapse 选项的 Asp.net Mvc 4

javascript - 将带有单引号的字符串从 MVC Razor 传递到 JavaScript

.net-3.5 - .net 4 向后兼容性