Entity Framework 4.1 Code First: внешний ключ одного столбца для нескольких объектов - PullRequest
3 голосов
/ 30 августа 2011

Я пытался создать модель в EF 4.1 для представления схемы базы данных с одной таблицей и столбцом, содержащим внешние ключи из двух других таблиц, но мне не очень повезло с аннотациями и свободно распространяемым API.Пример модели показан здесь:

public class User
{
    ...
    public virtual ExtendedAttribute ExtendedAttributes { get; set; }
}    

public class Account
{
    ...
    public virtual ExtendedAttribute ExtendedAttributes { get; set; }
}

public class ExtendedAttribute
{
    public Guid Id {get; set;}
    public Guid ItemId {get; set;} // both Account.Id and User.Id stored here
    public string Value { get; set; }
}

В настоящее время конфигурация для этих сущностей выглядит примерно так и для модели UserBuilder, и для учетной записи:

this.HasOptional(u => u.ExtendedAttributes).WithRequired();

Есть мысли о том, как этого добиться?Большое спасибо.

1 Ответ

0 голосов
/ 30 августа 2011

Это даже невозможно с самой базой данных, и EF не будет помещать абстракции для этого. Вы должны иметь отдельный столбец и свойство навигации для каждого объекта.

...