問題は直面しています.Tags.Add(タグ)を呼び出し、コンテキストに変更を保存すると、いつでもタグテーブルに新しいタグ情報が作成されますEventIdとTagIdをEventTagsテーブルに挿入します。多対多の関係に保存
以下のデータを基にして、EventTagsテーブルにイベントとタグを追加するにはどうすればよいですか。 EventTagsテーブルに、Id = 2のイベントとId = 1のタグを追加したいとします。
私は次のエンティティを持っています。
public class Event
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
public class Tag
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Event> Events { get; set; }
}
public class EventConfiguration : EntityTypeConfiguration<Event> {
public EventConfiguration() {
ToTable("Events");
HasKey(x => x.Id).Property(x => x.Id).HasColumnName("Id").IsRequired();
Property(x => x.Name).HasColumnName("Name").IsRequired();
HasMany(x => x.Tags)
.WithMany(x => x.Events)
.Map(m => {
m.ToTable("EventTags");
m.MapLeftKey("EventId");
m.MapRightKey("TagId");
});
}
}
public class TagConfiguration : EntityTypeConfiguration<Tag> {
public TagConfiguration() {
ToTable("Tags");
HasKey(x => x.Id).Property(x => x.Id).HasColumnName("Id").IsRequired();
Property(x => x.Name).HasColumnName("Name").IsRequired();
}
}
/*
These are the records in my many to many tables
--------------
Events Table
--------------
Id Name
1 Test1
2 Test2
--------------
EventTags
-------------
EventId TagId
1 2
-------------
Tags
------------
Id Name
1 MVC
2 C#
*/
投稿コードを追加 - 同じDBContextからフェッチするタグを追加しますか? – Andiih