实体框架虚拟收集导致意外的表
本文关键字:意外 框架 虚拟 实体 | 更新日期: 2023-09-27 18:14:50
我有一个EF对象
public class Country
{
[Key]
public string CountryCode { get; set; }
public string CountryName { get; set; }
}
以及一个通用项:
public class Item
{
public int ItemID { get; set; }
public virtual ICollection<Country> AvailableIn { get; set; }
}
生成的Country
表包含以下字段:
CountryCode
CountryName
ItemItemID
我如何告诉EF我希望将关系构建为与ItemAvailableCountry
相关的表,而不是修改Country表?
编辑
根据下面的注释,如果我只添加有问题的列,我就包含了相关的迁移代码
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<int>(
name: "ItemItemID",
table: "Country",
isNullable: true);
migrationBuilder.AddForeignKey(
name: "FK_Country_Item_ItemItemID",
table: "Country",
column: "ItemItemID",
principalTable: "Item",
principalColumn: "ItemID");
}
因为它可能是相关的-这是在EF7工作
如果您想要一个多对多的关系,将Item的iccollection放在国家类上,EF将生成您想要的表