因为你没有对你的泛型T加约束EntityObject 。
public virtual T findId<T>(int id)where T :EntityObject { return entities.CreateObjectSet<T>().FirstOrDefault(c => (int)c.EntityKey.EntityKeyValues[0].Value == id); //return entities.CreateObjectSet<T>().FirstOrDefault(c => (int)c.GetType().GetProperty("列名").GetValue(c, null) == id); }
为什么要先ToList()再foreach呢?
多谢指点了,终于弄懂了,感谢!!
因为你没有对你的泛型T加约束。
把r对象输出来看一下是什么就知道