Как указать имя пользовательского столбца с отношениями HasOne в EF7?EF7 - Пользовательское имя столбца для отношений HasOne
Рассмотрим следующие примеры классов:
public class House
{
public int Id { get; set; }
public int BedroomCount { get; set; }
public Address Address { get; set; }
}
public class Address
{
public int Id { get; set; }
public string StreetName { get; set; }
public string StreetNumber { get; set; }
}
И это беглый конфигурация:
modelBuilder.Entity<House>()
.HasOne(x => x.Address)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
Что приводит к такой конфигурации БД:
CREATE TABLE [House] (
[Id] int NOT NULL IDENTITY,
[AddressId] int,
[BedroomCount] int NOT NULL,
CONSTRAINT [PK_House] PRIMARY KEY ([Id]),
CONSTRAINT [FK_House_Address_AddressId] FOREIGN KEY ([AddressId]) REFERENCES [Address] ([Id]) ON DELETE CASCADE);
CREATE TABLE [Address] (
[Id] int NOT NULL IDENTITY,
[StreetName] nvarchar(max),
[StreetNumber] nvarchar(max),
CONSTRAINT [PK_Address] PRIMARY KEY ([Id]));
Как указать имя столбца кроме «AddressId» на столе «Дома»? Я не могу найти метод, похожий на HasColumnName, как и в свойствах, отличных от навигации.
Я использую Entity Framework 7 RC1-Final.
Я не вижу метод .Map() в EF7. – SkipHarris
Вам нужно использовать FluentAPI? Я пытаюсь найти способ здесь, предположим, что это не работает с EF7. – jpgrassi
Комбинация атрибута 'ForeignKey' с методом' .HasForeignKey() ', похоже, не работает в EF7. – SkipHarris