关于asp.net mvc的问题 我想问下,在实体框架(ef)中,有每一一种方法可以实现只要参数为sql语句就可以执行,并得到结果的函数, llEntities ll = new llEntities();
        public List<Student> student()
        {
            return ll.Student.Where(m => m.t_state == 0).ToList();
        }
        public Student student(int t_id)
        {
            return ll.Student.Where(m =>m.t_id == t_id).FirstOrDefault();
        }
        public Student student(string t_name)
        {
            return ll.Student.Where(m => m.t_sname == t_name).FirstOrDefault();
           
        }
如果我的代码这样写那岂不是很烦人,有每一一种直接
[code]
 public Student student(string sql)
        {
            return ll.Student.Where(sql).FirstOrDefault();// 这里直接写sql语句就可以实现功能的方法,           
        }[/code]
 

解决方案 »

  1.   

    直接
    public Student student(string sql)
            {
                return ll.Student.Where(sql).FirstOrDefault();
               
            }
    直接放一个sql就可以实现功能,单查询的,有没这样一种方法
      

  2.   

    可以将参数定义成表达式再复杂些就是利用表达式树动态生成表达式demo:http://blog.csdn.net/sandy945/article/details/5735326
      

  3.   

    1. 有, EF的 ExecuteStoreQuery<T> 支持直接用sql查询2. 这样的简单查询就没必要封装了吧,多此一举呢?
      

  4.   

    另外说下,也可以直接用:
    public ObjectQuery<T> Where(string predicate, params ObjectParameter[] parameters);http://msdn.microsoft.com/zh-cn/library/bb338811(v=vs.90).aspx