2 Объекты одного и того же типа сопоставляются с проблемой MySQL DB - PullRequest
0 голосов
/ 09 сентября 2011
public class Purchase {
    public Address to { get; set; }
    public Address from { get; set; }

}
public class Address {
    public string name { get; set; }
}

У меня 1 покупка с 2 адресами.Как это должно быть в Базе данных (mySql), включая внешние ключи, которые будут использоваться в Entity Framework.

У меня проблема в том, что сущность понимает (на основе fk), что Navigability in Address - это 1 ко многим (*)У меня нет списка адресов при покупке, я определил 2.

Спасибо, Барт.

1 Ответ

1 голос
/ 09 сентября 2011

Вы можете настроить отношения таблиц. Создайте свою модель следующим образом:

 public class PurchaseConfiguration : EntityTypeConfiguration<Purchase >
{
      public PurchaseConfiguration()
      {

           HasRequired(p=>p.to ).WithOptionalDependent().WillCascadeOnDelete(false);
           HasRequired(p => p.from ).WithOptionalDependent().WillCascadeOnDelete(false);
      }

 }

и свой контекст БД, вы можете добавить конфигурации, подобные этой,

public class yourDbContext:DbContext
{
        public DbSet<Purchase> Purchases{ get; set; }
        public DbSet<Address> Addresses{ get; set; }
        //other db sets here..

       protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
          modelBuilder.Configurations.Add(new PurchaseConfiguration ());
          // you can add configurations for other tables 
         }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...