У меня есть небольшая проблема.MVC Модель Poco класс, дизайн,
Я пытаюсь создать класс адреса, я сохраняю все адреса своих приложений.
Дело в том, что я хочу иметь возможность связывать несколько адресов как с клиентом, так и с компанией.
Может кто-нибудь, пожалуйста, покажите мне, как я должен его проектировать?
Сначала я использую MVC 4 с кодом entityFramework.
public class Address
{
[Key]
public int AddressId { get; set; }
public string Street { get; set; }
public string Number { get; set; }
public string ZipCode { get; set; }
public int CountyId { get; set; }
public virtual County County { get; set; }
public int StateId { get; set; }
public virtual State State { get; set; }
public int CountryId { get; set; }
public virtual Country Country { get; set; }
}
public class Customer
{
[Key]
public int CustomerId { get; set; }
public int CompanyId { get; set; }
[Display(Name = "Kund")]
public string Name { get; set; }
public virtual Company Company { get; set; }
// wan't to display a ICollection of addresses.
//public virtual ICollection<Address> Addresses { get; set; }
}
public class Company
{
[Key]
public int CompanyId { get; set; }
[Display(Name = "Organisationsnummer")]
public string OrganisationNumber { get; set; }
[Display(Name = "Företag")]
public string Name { get; set; }
[Display(Name = "Företag skapat")]
public DateTime CreationDate { get; set; }
public virtual ICollection<Customer> Customers { get; set; }
public virtual ICollection<Employee> Employees { get; set; }
// wan't to display a ICollection of addresses.
//public virtual ICollection<Address> Addresses { get; set; }
}
Когда я использую это я получаю эту ошибку сообща, когда им пытается показать компании: Вводя ограничение FOREIGN KEY «FK_dbo.Customer_dbo.Company_CompanyId» на столе «клиент» может вызвать циклы или несколько путей порогов. Укажите ON DELETE NO ACTION или ON UPDATE NO ACTION или измените другие ограничения FOREIGN KEY. – 2013-03-23 11:07:04
Теперь это вопрос другого рода, я обновил сообщение с большим количеством объяснений и изображений. –
Я не знаю, если это только я, но я не могу найти страницу, которую вы показываете, это в VS2012 или в sql-менеджере? – 2013-04-22 19:30:30