请问ObjectContext.CreateObjectSet<TEntity>怎么用MSDN是这样说的
创建新的 ObjectSet<TEntity> 实例,该实例用于查询、添加、修改和删除指定实体类型的对象。 
如果想这样用根据传入的表名与条件返回记录
public bool SELOperation(string tableName,Dictionary<string, string> cWhere)
{
var users = context.User.
  Where("it.Name = @name", new ObjectParameter("name", "user1")).
  Select("it.Name, it.Age").
  Top("@num", new ObjectParameter("num", 2));  foreach (var item in users)
  {
  Console.WriteLine(item["name"]);
  }
}如果可以将context.User替换成我传入的表名(是否可以用ObjectContext.CreateObjectSet<TEntity>返回objectset替换)
将Where("it.Name = @name", new ObjectParameter("name", "user1"))
替换在我传入的cwhere应如何做呢

解决方案 »

  1.   

    呵呵,正好回复你前面一个帖子。如果你的方法 SELOperation 改为 SELOperation<T> 那么结合这个 CreateObjectSet
    你就能用 dynamic where 了。
      

  2.   

    public bool SELOperation<T>(Dictionary<string, string> cWhere)
    {
        var objSet = context.CreateObjectSet<T>();
        var query = objSet.Where("id=@0", "123");
        ...
    }
      

  3.   

    你得先创建数据模型...有了TEntity的实体定义,你才能CreateObjectSet,你的ObjectContext才能找到Context...
      

  4.   

    这个SELOperation<T> 的T是指TEn tity吗
    要如何生成这个TEntity?
    比如我现在要取User这个表 条件是姓=='李'&&民族=='汉'的话
    在button.click里我应该怎么写来调用这个SELOperation<T>
      

  5.   

    var objSet = context.CreateObjectSet<T>();
    编译出错:
    泛型T 必须是引用类型才能做CreateObjectSet 的参数