Во-первых, я был бы упущен, если бы не заметил, что адрес является типом значения; оно не имеет идентичности и не должно быть сущностью. Entity Framework поддерживает такие типы с помощью функции сложных типов. К сожалению, конструктор Entity Framework не поддерживает этого ( Edit: Исправлено в VS 2010), поэтому единственный способ использовать эту функцию - редактировать EDMX вручную. Когда это происходит, Address - это тип, используемый в большинстве примеров, смотрите, возможно, вы захотите рассмотреть это.
Тем не менее, я действительно отвечу на вопрос, который вы задали.
Простое решение будет:
newCustomer.Address = new Address()
{
Street = streetTextBox.Text,
// etc.
};
Однако, поскольку Address действительно является типом значения (другими словами, два клиента с одинаковым адресом улицы, вероятно, должны указывать на один и тот же объект Address), вы можете попытаться выбрать существующий объект Address в контексте до Вы просто идете и новый новый.
newCustomer.Address = (from Addresses in context where ...).FirstOrDefault();
if (newCustomer.Address == null)
{
newCustomer.Address = new Address()
{
Street = streetTextBox.Text,
// etc.
};
}