linq-to-sql - 我如何将参数传递给linq查询

标签 linq-to-sql

我想将参数传递给 linq 查询...

public IEnumerable GetPhotos()
{
    PhotoDBDataContext db = new PhotoDBDataContext();
    var query = from p in db.Photos
                orderby p.PhotoId descending
                select new { p.Album, p.AlbumId, p.Description, p.Photographer,
                             p.PhotographerId, p.PhotoId, p.Tags, p.Thumbnail,
                             p.Url };
    return query;
}

在上面的例子中使用了“orderby p.PhotoId descending”,我想用参数代替p.PhotoId

有没有可能...

最佳答案

public IQueryable<Photo> GetPhotos(PhotoDBDataContext db, string orderBy)
{
    var query = from p in db.Photos select p;
    switch (orderBy) {
        case "PhotoId":
            return query.OrderBy(p => p.PhotoId);
        case "AlbumId":
            return query.OrderBy(p => p.AlbumId);
        default:
            // Error handling.
    } 
}

请注意,您不应返回匿名类型的对象。

关于linq-to-sql - 我如何将参数传递给linq查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2749428/

相关文章:

c# - 多对多表上的 LEFT LINQ TO SQL C# JOIN

linq-to-sql - 具有类型安全整数类的 LINQ To SQL

c# - 如何限制用户只能使用 Linq To SQL 编辑数据?

c# - 如何将运行时计算的非持久只读属性正确添加到 Linq To SQL 数据类

c# - Linq to SQL 编写可翻译函数

c# - 序列化从 LINQ to SQL 生成的类

linq-to-sql - linq性能问题

.net - 无法让 Left JOIN linq 查询工作!

c# - LINQ to SQL 查询以确定值是否以数字开头

linq - 复杂的 LINQ 或 EF 查询