【发布时间】:2013-10-20 04:57:01
【问题描述】:
我查看了许多 SO 帖子,但没有找到 1 个回答我的问题。我是 LINQ 新手,所以我认为这很简单,我只是不明白。
我有 2 个简单的实体:地址和状态,定义如下:
public class Address
{
[Key]
public int Id { get; set; }
public string CityName { get; set; }
public int? StateId { get; set; }
[ForeignKey("StateId")]
public virtual State State { get; set; }
}
public class State
{
[Key]
public int Id { get; set; }
public string StateName { get; set; }
}
我想要做的只是返回一个 IQueryable 地址,但我想做相当于 SQL 左外连接并返回地址中的 StateName。
这是我到目前为止所返回的地址,其城市以“I”开头。这很好用。我只需要加入状态表并获取 StateName。
[HttpGet]
public IQueryable<Address> Addresses()
{
var query = from a in _contextProvider.Context.Addresses
where a.CityName.StartsWith("I")
select a;
return query;
}
【问题讨论】:
标签: linq join foreign-keys iqueryable outer-join