Как entity framework определяет свойство в модели как внешний ключ? dbFirst

DBFirst: как entity framework устанавливает, что свойство связано с другой моделью / таблицей. В приведенном ниже примере CustomerId является первичным ключом из таблицы Customer.
Проверяет ли он файл edmx?
Как установить, что ID не является ключом из таблицы Customer?

    public class Order {
public int ID { get; set; }
public int CustomerId { get; set; }  // <-- Customer ID
public Customer Customer { get; set; } // <-- Customer object
...}

1 ответ

  1. Информация находится в XML-файле edmx модели. Вы можете просмотреть это, щелкнув правой кнопкой мыши на вашей модели в обозревателе решений, нажав на Открыть с и выбрав редактор XML (Text). Раздел, который вы будете искать, будет похож на приведенный ниже пример кода.

    <Association Name="FK_MYFOREIGNKEY">
       <End Role="Customer" Type="Self.Customer" Multiplicity="0..1" />
       <End Role="Order" Type="Self.Order" Multiplicity="*" />
       <ReferentialConstraint>
          <Principal Role="Customer">
             <PropertyRef Name="CustomerId" />
          </Principal>
          <Dependent Role="Order">
             <PropertyRef Name="CustomerId" />
          </Dependent>
       </ReferentialConstraint>
    </Association>