首页 新闻 赞助 找找看

如何取消ef实体框架自动生成的外键

0
悬赏园豆:10 [已解决问题] 解决于 2014-10-08 10:24

entity framework实体框架导航属性对应数据库生成的外键如何取消,不让他生成外键约束

罗拉可乐的主页 罗拉可乐 | 初学一级 | 园豆:-1
提问于:2014-09-25 17:22
< >
分享
最佳答案
0
public class SchoolEntities : DbContext 
{ 
    protected override void OnModelCreating( DbModelBuilder modelBuilder ) 
{ modelBuilder.Entity
<aspnet_UsersInRoles>().HasMany(i =>i.Users).WithRequired().WillCascadeOnDelete(false); } }

aspnet_UsersInRoles:实体类

移除所有的:

modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();

 

public class SchoolEntities : DbContext 
{ 
    public DbSet<Course> Courses { get; set; } 
    public DbSet<Department> Departments { get; set; } 
    public DbSet<Instructor> Instructors { get; set; } 
    public DbSet<OfficeAssignment> OfficeAssignments { get; set; } 
 
    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 
    } 
} 

这几种方法貌似都可以的。

收获园豆:10
悟行 | 专家六级 |园豆:12559 | 2014-09-25 17:35

,能不能不让他在数据库表里面生成外键列,也就是生成的那个列不是外键可以为空,但是在代码里面可以进行级联删除保存等操作

罗拉可乐 | 园豆:-1 (初学一级) | 2014-09-26 09:12

@罗拉可乐: 应该不行的,Nhibernate不行,EF我还没有试过,你可以试验一下。

悟行 | 园豆:12559 (专家六级) | 2014-09-26 12:26

@ArnoldZhang: nh好像可以 手动吧生成的外键给删除了不影响啊

罗拉可乐 | 园豆:-1 (初学一级) | 2014-09-26 17:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册