Как использовать Entity Framework 4.1 Code First для принудительного установления отношения «один к одному» для отношения «один ко многим» в базе данных

Я пытаюсь сначала изменить EF1 на код EF4.1 в приложении, где схема не может быть изменена , потому что она используется в репликации SQL Server. . Схема ужасно скудная и во многих местах полностью описывает отношения.

Я пытаюсь создать отношения один к одному между двумя классами, но схема базы данных ошибочно поддерживает данные как один ко многим.

public class ClassA
{
    public ClassB
    {
        get;
        set;
    }
}

К сожалению, таблица ClassB в базе данных имеет ссылку на ClassAId, а не на ClassA, имеющий ClassBId, как показано здесь:

CREATE TABLE [dbo].[ClassA]
    [Id] [bigint] IDENTITY


CREATE TABLE [dbo].[ClassB]
    [Id] [bigint] IDENTITY
    [ClassAId] [bigint]

Как настроить файл сопоставления, который наследуется от EntityTypeConfiguration, чтобы установить эту связь.

public class ClassAMapping : EntityTypeConfiguration<ClassA>
{
    public ClassA()
    {
        HasKey(f => f.Id);

        // what happens here to force a one to one????
    }
}
8
задан Swaff 5 April 2011 в 11:51
поделиться