public class Customer
{
public int CustomerId { get; set; }
public string MembershipId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
}
public class Company
{
public string MembershipId { get; set; }
public string Name {get; set;}
}
public class CustomersBankAccount
{
public string Name {get; set;}
public int CustomerId { get; set; }
}
Соглашение, когда вы хотите создать базу данных с первым соглашением о коде, состоит в том, чтобы часть «Id» (внешний ключ) была интегрирована в ваши свойства. Конечно, я рекомендую объявить все свойства виртуальными, чтобы EF мог понять ваш код и активировать некоторые функции. как эффективный механизм отслеживания
Итак: если у вас есть свойство объекта с именем ID, EF предполагает, что свойство содержит значение первичного ключа, и настраивает столбец ключа с автоинкрементом (идентификатор) в SQL Server для хранения значения свойства.
Редактировать:
«На объекте» означает объект Заказчика. По сути, первичный ключ в вашем примере находится в customer , а внешний ключ — во всех других таблицах, связанных с customer. Первичный ключ не может быть дублирован или нулевым. Внешний ключ - да. Возможно, что один и тот же клиент может иметь несколько банковских счетов. :) Так что, если вы задаетесь вопросом, где же сантехника, чтобы установить ключи, остановитесь. MVC может просто посмотреть на приведенный выше код и решить (при выборе строительных лесов), как сделать таблицы в вашей БД. Вам не нужно ничего указывать в своем коде, кроме того, что вы уже видели ("Id" и конец)
Изменить на основе моего комментария:
public class Customer
{
public int CustomerId { get; set; }
[Remote("CheckMembershipIdActionMethod", "CorrespondingController")]
public string MembershipId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
}
person
Iulian Radulescu
schedule
21.10.2013