如何在EF 6.0中调用原始SQL查询

时间:2016-11-27 18:02:18

标签: c# entity-framework async-await

我有一个简单的gridview,我需要与用户列表绑定。

在EF.5.0中,我可以简单地编写

context.Users.Select(emp => new { Name = emp.FirstName, EmailId = emp.EmailId, UserId = emp.UserId }).ToList();

但是,我不再在EF6.0中看到.ToList()方法了

因此,我必须使用ToAsyncList()编写异步查询。但是,不确定为什么下面的代码不起作用,系统无休止地执行。

protected void Page_Load(object sender, EventArgs e)
{
    var task = LoadData();
    task.Wait();
    GridView1.DataSource = task.Result;
    GridView1.DataBind();
}

private async Task<List<User>> LoadData()
{
    List<User> users = null;

    using (var context = new BlogEntities())
    {
        users = await context.Database.SqlQuery<User>("Select * from User", new object[] { }).ToListAsync();
    }

    return users;
}

有谁能告诉我,我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

使用此代码:

import React, { Component } from 'react';
import { View, Text, TouchableHighlight } from 'react-native';

export default class Chatroom extends Component {
  render() {
    return (
      <View>
        <Text>This is chatroom</Text>
        <TouchableHighlight onPress={this.gochat.bind(this)}>
          <Text>Go to chat</Text>
        </TouchableHighlight>
      </View>
    )
  }


  gochat() {
    this.props.navigator.push({ screen: 'Chat' });
  }
}