Das angegebene Schema ist ungültig. Fehler: Die Beziehung wurde nicht geladen, da der Typ nicht verfügbar ist
Ich möchte auf das verweisenOrderAddress
Modell-zweimal in meinemOrder
Modell; einmal alsShippingAddress
und einmal alsBillingAdress
.
Auf der anderen Seite möchte ich meineOrderAddress
Modell, um eine Liste von zu habenOrderAddresses
.
public enum AddressType
{
Billing,
Shipping,
Contact
}
public class OrderAddress : BaseModel
{
public AddressType AddressType { get; set; }
public bool IsPrimary { get; set; }
public string Address { get; set; }
public string CityStateZip { get; set; }
public string ContactName { get; set; }
public string PhoneNumber { get; set; }
public string FaxNumber { get; set; }
public string EmailAddress { get; set; }
public virtual ICollection<Order> Orders { get; set; }
public virtual ApplicationUser User { get; set; }
}
Modell bestellenpublic class Order : BaseModel
{
public DateTime OrderDate { get; set; }
public int BillingAddressId { get; set; }
public virtual OrderAddress BillingAddress { get; set; }
public int ShippingAddressId { get; set; }
public virtual OrderAddress ShippingAddress { get; set; }
public virtual ApplicationUser User { get; set; }
}
Fließende APIprotected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Order>()
.HasRequired(m => m.ShippingAddress)
.WithMany(t => t.Orders)
.HasForeignKey(m => m.ShippingAddressId)
.WillCascadeOnDelete(false);
modelBuilder.Entity<Order>()
.HasRequired(m => m.BillingAddress)
.WithMany(t => t.Orders)
.HasForeignKey(m => m.BillingAddressId)
.WillCascadeOnDelete(false);
}
Wenn ich versuche, Update-Database auszuführen, wird folgende Fehlermeldung angezeigt:
Das angegebene Schema ist ungültig. Fehler: Die Beziehung "MyApp.Domain.DAL.Order_ShippingAddress" wurde nicht geladen, da der Typ "MyApp.Domain.DAL.OrderAddress" nicht verfügbar ist.
Was mache ich falsch?