c# - ASP.NET MVC 5 实体连接

标签 c# asp.net-mvc entity-framework-6

我是 ASP、Entity 和 lambda 表达式的新手。如何连接两个表?

路线模型:

public partial class Route
{
    public Route()
    {
        Flights = new HashSet<Flight>();
    }

    public int RouteID { get; set; }

    public int DepartureAirportID { get; set; }

    public int ArrivalAirportID { get; set; }

    public int FlightDuration { get; set; }

    public virtual Airport Airport { get; set; }

    public virtual Airport Airport1 { get; set; }

    public virtual ICollection<Flight> Flights { get; set; }
}

机场型号:
public partial class Airport
{
    public Airport()
    {
        Routes = new HashSet<Route>();
        Routes1 = new HashSet<Route>();
    }

    public int AirportID { get; set; }

    public string City { get; set; }

    public string Code { get; set; }

    public virtual ICollection<Route> Routes { get; set; }

    public virtual ICollection<Route> Routes1 { get; set; }
}

SQL 查询如下所示:
SELECT a.AirportID, a.City
FROM Route r INNER JOIN Airport a ON r.ArrivalAirportID = a.AirportID
WHERE r.DepartureAirportID = @departureAirportID
ORDER BY a.City

很抱歉这个简单的问题,但我不知道如何使用 Entity Framework 来做到这一点......

最佳答案

像这样的事情应该做(未经测试,只是从你的查询中继续)使用硬编码的变量):

using (var db = new YourDbContext())
{
    var query = from r in db.Route
                join a in db.Airport a on r.ArrivalAirportID equals a.AirportID
                where r.DepartureAirportID = 1 // replace with your varialble.
                orderby a.City
                select a;
}

关于c# - ASP.NET MVC 5 实体连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30977089/

相关文章:

c# - Entity Framework 中的意外行为

c# - MVVM 从文本文件中获取数据

c# - Entity Framework 核心: How to IgnoreQueryFilters for DbSet Find method

c# - 如何在 ViewModel 中捕获动态按钮点击

asp.net - 多个 Azure Web 应用程序实例 - 不一致的数据库查询/数据

c# - 将 View 和表映射到 EF 中的同一模型?

c# - 如何在代码优先的 Entity Framework Fluent API 中指定多列 UNIQUE 约束

c# - 如果没有数据(为空),应该保存什么(在 SQL Server 数据库中)?

asp.net-mvc - 当我使用 DropDownListFor 时,所选项目不显示

entity-framework - 在 Entity Framework 中创建双链表