ExecuteQuery 执行查询并返回实体列表

ExecuteQuery 执行查询并返回实体列表

static void Main(string[] args)
{
    using (var dbContext = new DataClasses1DataContext())
    {
        var total = dbContext.ExecuteQuery<int>("select count(1) from [user]").FirstOrDefault();//4
        var users = dbContext.ExecuteQuery<User>("select * from [user]").ToList();
    }
}Code language: JavaScript (javascript)

说明:

调用返回类型说明
ExecuteQuery<int>int查询结果映射为标量值,FirstOrDefault 取第一行
ExecuteQuery<User>List<User>查询结果按列名映射为 User 实体列表

执行位置:​ 直接发 SQL 到数据库,不经过 LINQ 查询翻译。列名和实体属性名匹配即可自动映射。

关键要点:

要点说明
ExecuteQuery<T>返回 IEnumerable<T>,需 ToList/FirstOrDefault 物化
列名匹配SQL 列名和实体属性名一致时自动赋值
原生 SQL不走 LINQ 翻译,适合复杂查询或性能敏感场景
参数化{0} 占位,如 ExecuteQuery<User>("select * from [user] where id={0}", 1)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注