




Я предпочитаю не использовать префикс, мне легче набирать и читать, контекст сущности почти всегда очевиден.
Подумайте о концепциях, которые вы представляете, о контексте, в котором они появляются, и об их относительной частоте.
В этом случае фрагменты данных - это Warehouse и Number. В контексте Warehouse, Number правильно квалифицирован. Вне Warehouse, WarehouseNumber будет правильно квалифицирован, то есть Order.WarehouseNumber.
Warehouse.WarehouseNumber, в таком случае, будет лишним.
Я бы никогда не стал префиксировать их в коде. У вас всегда должны быть значимые имена переменных, свойств и методов, делающие префикс излишним.
var currentWarehouse = warehouseService.Find(id);
var number = currentWarehouse.Number;
или же
var number = order.Warehouse.Number;
Я менее решительно отношусь к вопросу хранения их в базе данных. Есть что сказать:
select *
from dbo.Warehouse
where WarehouseId in (
select WarehouseId
from ...
)
Это одна из тех мофо, которые не соответствуют объектно-реляционному импедансу. В OO, наверняка, префикс имени сущности кажется не подходящим. Однако в RDMBS префикс объекта однозначно определяет атрибут, и рекомендуется избегать этого:
ВЫБРАТЬ Почтовый код --OMG !!! Из какого я стола! C.PostCode или S.PostCode ??! ??!
ИЗ Клиент C
ВНУТРЕННЕЕ СОЕДИНЕНИЕ с поставщиком S НА C.PrefferredSupplierID = S.SupplierID
Мой совет - выбрать условность произвольно и примерно придерживаться ее. В конце концов, это соглашение, чтобы сэкономить время! Наверное, неважно .. :)