C# 如何为多对多实体框架模型设置ID

C# 如何为多对多实体框架模型设置ID,c#,entity-framework,C#,Entity Framework,这就是我的模型目前的样子: 它可以工作,但我想知道是否可以添加ids属性,该属性将填充相应虚拟(惰性)属性的ID,并且更改它会影响Db/模型,如预期的那样 public class Meal { ... public virtual ICollection<Dinner> Dinners { get; set; } // add ICollection<int> DinnersIds { get;set; } } public class Dinne

这就是我的模型目前的样子:

它可以工作,但我想知道是否可以添加ids属性,该属性将填充相应虚拟(惰性)属性的ID,并且更改它会影响Db/模型,如预期的那样

public class Meal
{
    ...
    public virtual ICollection<Dinner> Dinners { get; set; }
   // add ICollection<int> DinnersIds { get;set; }
}
public class Dinner
{
    ...
    public virtual ICollection<Meal> Meals { get; set; }
   // add ICollection<int> MealsIds { get;set; }
}
公共课餐
{
...
公共虚拟ICollection晚餐{get;set;}
//添加ICollection dinersids{get;set;}
}
公共课晚餐
{
...
公共虚拟ICollection{get;set;}
//添加ICollection MealsIds{get;set;}
}
我的数据库上下文:

public class Db : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
     ...
        modelBuilder.Entity<Dinner>().HasMany(r => r.Meals).WithMany(o => o.Dinners).Map(f =>
        {
            f.MapLeftKey("DinnerId");
            f.MapRightKey("MealId");
        });

    ...

        base.OnModelCreating(modelBuilder);
    }
}
公共类Db:DbContext
{
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
...
modelBuilder.Entity().HasMany(r=>r.dines)。WithMany(o=>o.dines)。Map(f=>
{
f、 MapLeftKey(“晚餐”);
f、 MapRightKey(“MealId”);
});
...
基于模型创建(modelBuilder);
}
}

我想答案是否定的,这种行为非常复杂,但我想看看是否可能。我有一个更大的问题:你为什么想要这个?@Vlad274这将帮助我优化一些代码,而且我认为数据库的使用会少一点,因为不需要查询多个数据库的右侧