it seems if i use an custom class as base of an entity,the ObjectContext.CreateObjectSet will fail with stackoverflow exception
code is:
// This is generated by EF4 and i modify it to my custom class
public partial class EntityA : GClass<EntityA>
{
    ......
}
public partial class TestEntities : ObjectContext
{
    public ObjectSet<EntityA> EntityAs
    {
        get
        {
            if ((_EntityAs == null))
            {
                // here will throw stackoverflow exception
                _EntityAs = base.CreateObjectSet<EntityA>("EntityAs");
            }
            return _EntityAs;
        }
    }
    private ObjectSet<EntityA> _EntityAs;
}
// This is custom class
public partial class EntityA
{
}
// This is my custom base class
public class GClass<T> : EntityObject where T : class
{
    public virtual string GetStr()
    {
        return "GClass";
    }
}