Я пытаюсь сначала изменить 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????
}
}