Еще одна вещь, на которую следует обратить внимание: вы должны переопределить методы Equals и GetHashCode для объекта, использующего CompositeId. Если принять файл соответствия принятых ответов, ваша сущность будет выглядеть следующим образом.
public class Entity
{
public virtual int Something {get; set;}
public virtual AnotherEntity SomethingElse {get; set;}
public override bool Equals(object obj)
{
var other = obj as Entity;
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
return other.SomethingElse == SomethingElse && other.Something == Something;
}
public override int GetHashCode()
{
unchecked
{
return (SomethingElse.GetHashCode()*397) ^ Something;
}
}
}