var query=from b in db.Book select b;
我想问一下,查询的表能不能动态啊?就是 db.Book 能不能动态啊?要如何动态啊?

解决方案 »

  1.   

      你的意思是加条件是吧?  where 1=1 
    这种?
      

  2.   


                if (Request.Form["ip_name"] == null)
                {
                    var model = from m in imdb.tb_Movie
                                orderby m.ID_Movie descending
                                select m;
                    return View(model);
                }
                else
                {                var queryBuilder = QueryBuilder.Create<tb_Movie>()
                   .Like(c => c.Name_CN, Request.Form["ip_name"].Trim())
                   .OrLike(c => c.Name_EN, Request.Form["ip_name"].Trim())
                   .OrLike(c => c.Url_IMDB, Request.Form["ip_name"].Trim())
                   .Like(c => c.Year_Movie, Request.Form["ip_year"].Trim())
                   .Like(c => c.Path_Save, Request.Form["ip_Path_Save"].Trim())
                   .Like(c => c.Type_Movie, ip_type);
                    var query = imdb.tb_Movie.Where(queryBuilder.Expression);
                    return View(query.OrderByDescending(movie => movie.ID_Movie));            }
      

  3.   

    public IEnumerable<object> Query(string @namespace, string table, string where)
    {
        using (var ctx = new XXXEntities())
        {
            var type = typeof(XXXEntities);
            var elementType = Type.GetType(string.Format("{0}.{1}", @namespace, table));
            var mi = type.GetMethod("ExecuteStoreQuery", new Type[] { typeof(string), typeof(object[])});
            mi = mi.MakeGenericMethod(elementType);
            var sql = string.Format("select * from {0} where {1}", table, where).Trim();
            if (sql.EndsWith("where"))
                sql = sql.Replace("where", "");
            return mi.Invoke(ctx, new object[] { sql, null }) as IEnumerable<object>;
        }
    }调用:var result = Query("XXX.DB", "Student", null);
    foreach (var r in result)
    {
        var s = r as Student;
        
    }
      

  4.   

    有点问题,改为List<object>public List<object> Query(string @namespace, string table, string where)
    {
        using (var ctx = new VisualRMIDBEntities())
        {
            var type = typeof(VisualRMIDBEntities);
            var elementType = Type.GetType(string.Format("{0}.{1}", @namespace, table));
            var mi = type.GetMethod("ExecuteStoreQuery", new Type[] { typeof(string), typeof(object[])});
            mi = mi.MakeGenericMethod(elementType);
            var sql = string.Format("select * from {0} where {1}", table, where).Trim();
            if (sql.EndsWith("where"))
                sql = sql.Replace("where", "");
            var result = mi.Invoke(ctx, new object[] { sql, null }) as IEnumerable<object>;
            return result.ToList();
        }
    }
      

  5.   


    大大,silverlight的ria没有ExecuteStoreQuery这个方法啊
      

  6.   

    WCF RIA Service和一般的Linq2EF不一样。你可以debug下Query的过程,它Load是用uri方式。有点像 DataService。自己拼Uri字符串