如何使用Entity Framework 6从数据库中获取数据

Jaa*_*aan 5 c# linq-to-entities entity-framework entity-framework-4

我已经构建了一个查询来从两个表中返回数据,在这两个表中,它们通过内连接加入.虽然,因为查询似乎很好,当我尝试从查询中访问选定的字段名称时,我收到错误消息.我如何在此查询中使用.SingleOrDefault()函数.任何人都可以帮我,我该怎么办.

private void FindByPincode(int iPincode)
    {
        using (ABCEntities ctx = new ABCEntities())
        {
            var query = from c in ctx.Cities
                        join s in ctx.States
                        on c.StateId equals s.StateId
                        where c.Pincode == iPincode
                        select new {
                                s.StateName, 
                                c.CityName, 
                                c.Area};

            // var query = ctx.Cities.AsNoTracking().SingleOrDefault(_city => _city.Pincode == iPincode);

            if (query != null)
            {
                cboState.SelectedItem.Text =query.State;        //Getting error "Could not found"
                cboCity.SelectedItem.Text = query.CityName;     //Getting error "Could not found"
                txtArea.Text = query.Area;                        //Getting error "Could not found"

            }

        }
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Jur*_*ndw 7

试试这个:

using (ABCEntities ctx = new ABCEntities())
    {
        var query = (from c in ctx.Cities
                    join s in ctx.States
                    on c.StateId equals s.StateId
                    where c.Pincode == iPincode
                    select new {
                            s.StateName, 
                            c.CityName, 
                            c.Area}).First().SingleOrDefault();

        if (query != null)
        {
            cboState.SelectedItem.Text =query.State;        
            cboCity.SelectedItem.Text = query.CityName;    
            txtArea.Text = query.Area;                        
        }
    }
Run Code Online (Sandbox Code Playgroud)