我对Entity Framework很新,只是遇到了一个我不明白的问题。
以下是我所做的:我创建了一个班级Event
:
public class Event
{
public int Id { get; set; }
public string Title { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
public int AddressId { get; set; }
[ForeignKey("AddressId")]
public virtual Address Address { get; set; }
}
和一个班级Address
:
public class Address
{
public int Id { get; set; }
public string StreeName { get; set; }
public string StreetNumber { get; set; }
public string ZipCode { get; set; }
public string City { get; set; }
public virtual ICollection<Event> Events { get; set; }
}
相应的背景
public class EventContext : DbContext
{
public EventContext(DbContextOptions<EventContext> options) : base(options)
{
}
public DbSet<Event> Event { get; set; }
}
和
public class AddressContext : DbContext
{
public AddressContext(DbContextOptions<AddressContext> options) : base(options)
{
}
public DbSet<Address> Addresses { get; set; }
}
所以这里没有问题。但是当我用
更新我的数据库时Update-Database -Context EventContext
和
Update-Database -Context AddressContext
我的数据库看起来像这样:
我在这里不明白的是,为什么EF为Event
(Event
和Events
)和Address
创建了2个表格({{1} }和Address
)?
我的目标是Addresses
只有一个相关的Event
。