Nie mam z tym problemów, tak samo jak .NET. Stosuję takie nazewnictwo i nawet nie zwracam uwagi na to, że nazwa "obiektu" jest taka sama jak nazwa klasy. Ot i przykład z życia: encja z nHibernate:
public class Mount
{
public virtual int Id { get; protected set; }
public virtual decimal MeasureCount { get; set; }
public virtual decimal ItemCount { get; set; }
public virtual Component Component { get; set; }
public virtual Measure Measure { get; set; }
public virtual Product Product { get; set; }
}
Trzy komponenty nazwane tak samo jak ich klasy. Zero problemów, a przynajmniej nie ma jakiejś magii w stylu np. notacji węgierskiej.
Jest to praktyka powszechna. Popatrz na przykład z dokumentacji tego ORM: https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started#entities
public class Employee
{
public virtual int Id { get; protected set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual Store Store { get; set; }
}
NH to raczej profesjonalne narzędzie więc wiesz... Nie ma co się przejmować.