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)); }
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;
}
有点问题,改为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(); } }
这种?
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)); }
{
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;
}
{
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();
}
}
大大,silverlight的ria没有ExecuteStoreQuery这个方法啊