我正在使用带有 .NET Framework 4.0 的 Entity Framework 4.4 构建 ASP MVC 网站
我在我的模型中添加了多对多关系,如下所示:
public class User {
public int UserID { get; set; }
public string Username { get; set; }
public virtual ICollection<Tenant> Tenants { get; set; }
}
public class Tenant {
public string TenantID { get; set; }
public string Name { get; set; }
public virtual ICollection<User> Users { get; set; }
}
当我运行Add-Migration
命令时,我得到了这个迁移类(我删除了 Down 方法)
public partial class TenantUsersManyToManyMigration : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.UserTenants",
c => new
{
User_UserID = c.Int(nullable: false),
Tenant_TenantID = c.String(nullable: false, maxLength: 128),
})
.PrimaryKey(t => new { t.User_UserID, t.Tenant_TenantID })
.ForeignKey("dbo.Users", t => t.User_UserID, cascadeDelete: true)
.ForeignKey("dbo.Tenants", t => t.Tenant_TenantID, cascadeDelete: true)
.Index(t => t.User_UserID)
.Index(t => t.Tenant_TenantID);
}
}
为什么 TenantID 和 UserID 的字段名称分别是 User_UserID 和 Tenant_TenantID 而不是 UserID 和 TenantID。
如何更改默认迁移脚手架(或我的模型)以使 cascadeDelete 为假?(目前我只是手动更改它)。