Хотя вопрос здесь о свойствах, но если вы посмотрите на более абстрактный уровень, то есть на уровень класса, вы найдете здесь что-то странное.Класс используется для представления репозитория для AccommodationProperty.Теперь простое определение репозитория, в котором он хранит (абстрагируется базовым постоянным хранилищем) определенный тип объектов и позволяет выполнять некоторые операции (например, доступ, удаление и т. Д.) Над этими объектами.Поэтому использование репозитория типа
var poo = new AccommPropertyRepository(1000);
var pooGUID = poo.AccommPropertyGUID;
не очень хорошая идея в моем POV.Поскольку этот код обозначает, что вы создаете объект репозитория для доступа только к одному конкретному объекту свойства размещения, который имеет идентификатор 1000, где в качестве репозитория должен быть разрешен доступ к нижележащим хранимым объектам, а не только к одному объекту.Лучшим способом использования репозитория было бы что-то вроде:
var repo = new AccommPropertyRepository(repInitializationData) //initialization data can be something like conn string etc
var pooGUID = repo.GetAccommProperty(1000).GUID
Таким образом, доступ к свойству GUID является частью объекта, а не репозитория, поскольку свойство является ответственностью фактического объекта, а не репозитория.Хранилище предназначено только для того, чтобы вы могли получить доступ к базовым наборам объектов.
Надеюсь, это имеет смысл.