我使用实体框架与Code First创建数据库等。如何首先需要与代码的多对多关系
public class Company : Entity // Entity contains an ID and a RowVersion
{
// some Properties
//
public virtual ICollection<Profile> Profiles { get; set; }
}
// No Attributes here, because this Model has to be reusable
public class Profile : Entity
{
// some Properties
//
public virtual ICollection<Company> Companies { get; set; }
}
我想要求公司拥有一个用于管理该公司的配置文件(cn:n)。我有一些负责编辑实体的“业务逻辑”,主要是因为验证部分。逻辑会验证是否设置了所需的关系。我在这里有两个问题:
DB应该有可选关系(用于编辑方便)吗? “业务逻辑”必须是唯一编辑数据库的人员。
或者我会如何设置所需的关系?
我不介意,如果你有一点当然,在我看来,与EF在互联网上的多对多关系太少了。 (我是新来的,所以从来不介意,如果这违背一些规则)
编辑 我所知道的与第三个表的方式,但是这是我的观点:How to require many to many relation with code first
你有没有想过创建第三实体搞定N:N的关系? – 2015-03-13 14:27:32
@Guillelon是的,我有,那将是紧急的选择。但是,代码的第一点是你不必关心数据库如何执行它,你只关心类。以这种方式,没有任何其他属性的第三类(加上另外三个关系类,我有很多多对多的关系)不会是理想的。 – lukee910 2015-03-13 14:33:20