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

Chr*_*Kee 2 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)
Run Code Online (Sandbox Code Playgroud)

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

我坚持最好的方式(最优化)将这些连接在一起,LINQ Joining看起来很头疼,我不确定HashSets.

有任何想法吗?

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

God*_*eke 5

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

LINQ的潜在缺点是性能开销,但说实话,它还没有成为我的主要问题.

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

这反映了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 };
Run Code Online (Sandbox Code Playgroud)

)