Я очень плохо знаком с ASP.NET и могу использовать некоторую помощь.
Для этого сценария у меня есть 2 класса. Один - это класс «проект», а другой - класс «компания». По сути, мне нужен один «справочник компаний» из всех компаний, с которыми мы имеем отношения, но мне нужно иметь возможность свободно распределять их по 3 различным слотам в рамках проекта. Возможно, что одна и та же компания может занимать все 3 слота, но в равной степени вероятно, что в каждом слоте будет размещаться другая компания.
Вот мои занятия:
public class Project
{
public int ID { get; set; }
public string Name { get; set; }
public int ClientID { get; set; }
public int PublisherID { get; set; }
public int DeveloperID { get; set; }
public Company Client { get; set; }
public Company Publisher { get; set; }
public Company Developer { get; set; }
}
public class Company
{
public int ID { get; set; }
public string Name { get; set; }
}
Когда я использовал эту базовую схему в прошлом, сложные типы, которые я указываю в нижней половине определения модели, будут автоматически генерироваться на основе соответствующих свойств int ID, указанных ранее. Например, если бы у меня был сложный тип «Пользователь», который рисовал свои данные из пользовательской таблицы в моей базе данных, указав (int UserID) в моем классе, а затем (User User), поле UserID было бы фактическим полем в моем Таблица проекта и указанный мной объект User автоматически будут объектом, содержащим всю информацию о пользователе из пользовательской таблицы.
Использование этого метода, как я делал в классах, указанных выше, однако, работает не так, как я ожидал, а вместо этого создает не только ClientID, PublisherID и DeveloperID, но также создает CompanyID, CompanyID1 и CompanyID2, которые являются полями, которые будет фактически использоваться при попытке создания экземпляров указанных мной объектов Компании (хотя эти поля всегда будут содержать ноль).
Есть ли способ обойти это?