我在我的Entity Framework模型中应用了以下约定,该模型将映射我的所有实体以使用存储过程:
modelBuilder.Types().Configure(cfg => cfg.MapToStoredProcedures());
这在大多数情况下都很有用。它似乎不起作用的一种情况是当一个实体具有多对多的关系而没有Xref / Link表的实体时:
public class User
{
public ICollection<Role> Roles { get; set; }
}
public class Role
{
public ICollection<User> Users { get; set; }
}
这将为Users表和Roles表创建Insert,Update和Delete存储过程,但它不会为UsersRoles表创建Insert / Delete存储过程。
有没有办法修改我的约定,以便它也能解决这些问题?我知道我可以手动连接它,但我希望尽可能避免这种情况。