首页 文章

如何使用Fluent API首先在代码中生成中间表

提问于
浏览
0

现在我有以下三个类:

public class Customer{
public int Id {get;set;}
public ICollection<State> StatesLivedIn {get;set;}
}

public class Business{
public int Id {get;set;}
public ICollection<State> StatesLocatedIn {get;set;}
}

public class State{
public int Id {get;set;}
public string Name {get;set;}
}

我想先为代码生成以下两个表:

CustomerStates(Customer Id, State Id) 
BusinessStates(Business Id, State Id)

有没有办法用流畅的api生成这个?

1 回答

  • 0

    使用Code First EF决定创建表 . 在你的情况下,一个更好的模型可能是这个

    public class State
    {
        public int Id {get;set;}
        public string Name {get;set;}
        public virtual ICollection<Business> BusinessesLocatedIn {get;set;}
        public virtual ICollection<Customer> CustomerLivesIn {get;set;}    
    }
    

    您指定一个州可以有几个住在其中的客户以及其中的几个商家

    这应该足够EF,否则你可以使用HasMany / WithMany流畅的方法(即 HasMany(t => t.CustomersLivesIn).WithMany(t => t.StatesLivesIn);

    PS:如果你需要延迟加载,请记住虚拟

相关问题