如何使用LINQ从多个表中获取结果

本文关键字:获取 结果 何使用 LINQ | 更新日期: 2023-09-27 18:11:29

我正在自动完成文本框。在这个用户可以输入他们的城市名称,从这个输入,我想从数据库表中搜索记录,并显示城市名称,州名和国家名称的相关组合列表。

如何使用LINQ获取这些详细信息

我的表结构如下,

Countryid PKCountryName

Stateid PKStateNameCountryid颗

城市

Cityid PK某个Stateid颗

我想在自动完成文本框上得到结果。

E。G,如果用户写SAN他将得到包含san的城市名称列表

像美国加州的旧金山。

如何写LINQ查询来得到这个结果

如何使用LINQ从多个表中获取结果

var query = from c in dataContext.City
            where c.Contains(keyword)
            select c.CityName + ", " + c.State.StateName+ ", "+ c.State.Country.CountryName;

Using linq to sql:

var q = from c in context.cities
select c.CityName + ", " + c.State.StateName + ", " + c.State.Country.CountryName
where CityName.StartsWith(typed);

这将给出一个IEnumerable,其中包含与键入的字符匹配的建议。

另一个变体:

var matches = cities.Where(c => c.CityName.Contains(substr))
                    .Select(a => String.Format("{0} {1} {2}",
                                        a.CityName, 
                                        a.State.StateName, 
                                        a.State.Country.CountryName 
                           ));