#c# #asp.net-mvc #entity-framework #ef-fluent-api
#c# #asp.net-mvc #entity-framework #ef-fluent-api
Вопрос:
У меня есть следующие две сущности. Сотрудник и адрес.
У сотрудника может быть один или несколько адресов.
Что мне нужно, так это установить их взаимосвязь с помощью Fluent API. Но я не хочу, чтобы EmployeeID (который является первичным ключом в Employee) использовался в качестве внешнего ключа для Адреса. Вместо этого я хочу использовать Guid от Employee в качестве внешнего ключа в адресе.
В двух словах, я хочу
Сотрудник 1: N Адрес, но на основании
Guid от Employee -> Guid в адресе
public class Employee
{
public int EmployeeId;
public Guid Guid;
.
.
.
public ICollection<Address> Addresses;
}
public class Address
{
public int AddressId
public Guid Guid; // Guid from Employee
.
.
}
Пожалуйста, помогите мне, как установить эту взаимосвязь. Это
1. У одного сотрудника может быть много адресов.
2. Сотрудник.Guid будет внешним ключом в Адресе.Guid
Комментарии:
1. Нет. Я хочу использовать AddressID в качестве ключа.
2. Это невозможно.
3. Вы должны создать EmployeeID в адресной таблице, тогда только вы можете создать одно отношение 2 many entityframeworktutorial.net/code-first /…
4. Вам это вообще не нужно:
public Guid Guid; // Guid from Employee
. Зачем вам это? Вы можете дешево запросить то, чтоEmployee
заданоAddress
, потому чтоAddress
вводится с помощьюAddressId
… кроме того, дваEmployee
могут иметь один и тот же адрес, хотя и редко, поэтому не храните избыточные данные.