qry = qry.Where(a => a.CategoryID == typeId); 这一句想改成,
qry = qry.Where(a => a.CategoryID in (另外一个表查出的typeid=1 的所有id,用sql
表达就是 select id from catatype where typeid=1));
using (var db = new WEBVODEntities())
{
var qry = db.Articles.AsQueryable(); //ObjectSet 转换成 IQueryable
if (typeId > 0)
qry = qry.Where(a => a.CategoryID == typeId); //文章类型(=0,就不进行类型筛选)
if (!showAll)
qry = qry.Where(a => a.Display && a.Approved); //!!!!(这个逻辑可能需要修改)showAll=false,只显示Display、Approved都等于True情况
if (!string.IsNullOrEmpty(title))
qry = qry.Where(a => a.Title.Contains(title)); //文章标题
if (!string.IsNullOrEmpty(author))
qry = qry.Where(a => a.Author.Contains(author)); //文章作者
PagedList<Article> pl = qry.OrderByDescending(a => a.PubDate).ToPagedList(pageIndex, pageSize); foreach (var art in pl)
{
string LoginName = art.LoginName; //获取创建者ID
string RealName = db.RegisteredUsers.SingleOrDefault(a => a.LoginName == LoginName).RealName; //获取用户对象
art.LoginName = art.LoginName + "--" + RealName; //获取创建者真名 int CategaryID = art.CategoryID;
string CategaryCN = db.VideoCategories.SingleOrDefault(a => a.ID == CategaryID).Name;
art.CategoryCN = CategaryCN;
} return pl;
}
qry = qry.Where(a => a.CategoryID in (另外一个表查出的typeid=1 的所有id,用sql
表达就是 select id from catatype where typeid=1));
using (var db = new WEBVODEntities())
{
var qry = db.Articles.AsQueryable(); //ObjectSet 转换成 IQueryable
if (typeId > 0)
qry = qry.Where(a => a.CategoryID == typeId); //文章类型(=0,就不进行类型筛选)
if (!showAll)
qry = qry.Where(a => a.Display && a.Approved); //!!!!(这个逻辑可能需要修改)showAll=false,只显示Display、Approved都等于True情况
if (!string.IsNullOrEmpty(title))
qry = qry.Where(a => a.Title.Contains(title)); //文章标题
if (!string.IsNullOrEmpty(author))
qry = qry.Where(a => a.Author.Contains(author)); //文章作者
PagedList<Article> pl = qry.OrderByDescending(a => a.PubDate).ToPagedList(pageIndex, pageSize); foreach (var art in pl)
{
string LoginName = art.LoginName; //获取创建者ID
string RealName = db.RegisteredUsers.SingleOrDefault(a => a.LoginName == LoginName).RealName; //获取用户对象
art.LoginName = art.LoginName + "--" + RealName; //获取创建者真名 int CategaryID = art.CategoryID;
string CategaryCN = db.VideoCategories.SingleOrDefault(a => a.ID == CategaryID).Name;
art.CategoryCN = CategaryCN;
} return pl;
}
qry=qry.Where(t=>ary.Contains(t.id));