Tôi có một người dùng Role nhiều-nhiều mối quan hệ, theo quy định của đoạn trích này từ một lớp học có nguồn gốc EntityTypeConfiguration<Role>
cho phép tôi specifiy schemas cho các bảng duy nhất, ví dụ:Làm thế nào để xác định một lược đồ cho một bảng quan hệ nhiều-nhiều?
[Schema(SchemaNames.ParkPay)]
class WeekDayConfig : EntityTypeConfigurationWithSchema<WeekDay>
{
internal WeekDayConfig()
{
Ignore(t => t.IsDeleted);
Property(p => p.Name)
.IsRequired()
.HasMaxLength(20);
}
}
Bây giờ, cho Role
, cấu hình lớp chứa mã này, và bảng kết quả UserRole
được tạo theo lược đồ 'dbo', không phải lược đồ mong muốn của tôi. Đây là mã rằng:
[Schema(SchemaNames.ParkPay)]
internal class RoleConfig : EntityTypeConfigurationWithSchema<Role>
{
public RoleConfig()
{
HasMany(t => t.Users)
.WithMany(t => t.Roles)
.Map(m =>
{
m.ToTable("UserRole");
m.MapLeftKey("RoleId");
m.MapRightKey("UserId");
});
}
}
Có bất cứ điều gì tôi có thể làm, ngoại trừ kịch bản thay đổi schema trong giai đoạn hạt giống khởi tạo, để có bảng UserRole
tạo thuộc schema 'parkpay' chứ không phải 'dbo' schema?
Bạn đã thử này? Dường như quá tải của 'ToTable': http://stackoverflow.com/questions/6028375/entity-framework-code-first-many-to-many-setup-for-existing-tables – rliu