C# 实体框架复合键

C# 实体框架复合键,c#,sql,database,entity-framework,C#,Sql,Database,Entity Framework,我有一个数据库,有两个表,customer和account。由于多个客户可以在多个帐户上存在,因此这是一种多对多设计 我就是这样用SQL设计的 这非常好地工作,因为实体框架选择它是一个映射表,只是将客户映射到每个帐户上的列表,并隐藏映射表。太棒了 我想进一步扩展此功能,为客户和帐户之间的映射添加首选项,如: 我认为这是不可能的,对吗?我尝试将其添加到EF模型中,但它返回了映射表 其他人在这方面运气好吗?在第一种情况下,您拥有的是一个简单的多对多关系表,在实体框架中,它会导致实体彼此之间的集合

我有一个数据库,有两个表,customer和account。由于多个客户可以在多个帐户上存在,因此这是一种多对多设计

我就是这样用SQL设计的

这非常好地工作,因为实体框架选择它是一个映射表,只是将客户映射到每个帐户上的列表,并隐藏映射表。太棒了

我想进一步扩展此功能,为客户和帐户之间的映射添加首选项,如:

我认为这是不可能的,对吗?我尝试将其添加到EF模型中,但它返回了映射表


其他人在这方面运气好吗?

在第一种情况下,您拥有的是一个简单的多对多关系表,在实体框架中,它会导致实体彼此之间的集合


如果您想从
CustomerAccount
关系表中与
首选项
建立关系,则该关系将变得复杂,无法在简单关系列表中描述。您需要为您的关系添加一个实体
CustomerAccount
,该实体将在
Customer
Account
Preference

上具有外键。请发布您迄今为止的尝试。这看起来很容易实现。请看上面我所做的尝试,我不知道如何解释它。是的,它看起来很简单,但我不确定实体框架是否支持它。经过一点思考,我认为这是不可能的。在第一个实例中,EF只是映射一个多对多关系。但由于包含了首选项,因此无法将其分配给任何单个实体,需要显示映射表。哦:(这是正确的,我之所以想用一个带有复合键的映射表来实现这一点,是为了尝试在客户和帐户之间进行映射时需要一个首选项。