私の中に2つのPOCOクラスがある場合DataContext
(そしてそれらをとして使用する場合DbSet<>
)、EFコードは最初にカーテンの後ろにマッピングテーブルを作成します:
class Subscription
{
ICollection<Product> Products {get;set}
}
と
class Product
{
ICollection<Subscription> Subscriptions {get;set}
}
およびシークレット マッピング テーブル:
CREATE TABLE [dbo].[ProductSubscriptions](
[Product_Id] [bigint] NOT NULL,
[Subscription_Id] [bigint] NOT NULL
) ON [PRIMARY]
2 つの ID フィールドにクラスター化された主キーを使用します。
質問: 両方のフィールドにクラスター化された主キーなしでテーブルを作成することは可能ですか? ここには多対多の関係があるため、次のような複数のエントリがあります。
{ Product_Id = 1, Subscription_Id = 1 }
{ Product_Id = 1, Subscription_Id = 1 }
{ Product_Id = 1, Subscription_Id = 2 }
{ Product_Id = 1, Subscription_Id = 2 }
...
主キーを削除しましたが、呼び出されDataContext.Products.Subscriptions.Add(1)
た回数ではなく、単一のアイテムのみを追加するための複数の呼び出し。