sütununu yeniden adlandırın: AşağıdaVarlık çerçevesi (CTP5, Akıcı API). İki entites sahip navigasyon özelliğinin
public class Address
{
public int Id { get; set; }
public string FirstName { get; set;
public string LastName { get; set; }
}
public partial class Customer
{
public int Id { get; set; }
public string Email { get; set; }
public string Username { get; set; }
public virtual Address BillingAddress { get; set; }
public virtual Address ShippingAddress { get; set; }
}
sınıfları eşleştirdiğimize:
public partial class AddressMap : EntityTypeConfiguration<Address>
{
public AddressMap()
{
this.ToTable("Addresses");
this.HasKey(a => a.Id);
}
}
public partial class CustomerMap : EntityTypeConfiguration<Customer>
{
public CustomerMap()
{
this.ToTable("Customer");
this.HasKey(c => c.Id);
this.HasOptional<Address>(c => c.BillingAddress);
this.HasOptional<Address>(c => c.ShippingAddress);
}
}
veritabanı oluşturulduğunda, hem 'Müşteri' tablo 'BillingAddress' ve 'için iki sütun vardır ShippingAddress 'özellikleri. İsimleri 'AddressId' ve 'AddressId1'. Soru: Onları 'BillingAddressId' ve 'ShippingAddressId' olarak nasıl yeniden adlandırabilirim?
Murtaza yine teşekkür ederim. –
Önerdiğiniz değişiklikleri yaptım. Ama ilk yazımda modeli sadeleştirdim. Müşteri sınıfımda, tüm adreslerin bir listesini içeren bir başka özellik daha var: "public virtual ICollection
Adresler {get; set;}". Ve müşteri yapılandırma sınıfının (CustomerMap) bir satırı daha var: "this.HasMany (c => c.Addresses) .WithMany(). Map (m => m.ToTable (" CustomerAddresses "));" Şimdi şu hatayı alıyorum: "Sıra birden fazla eşleşen öğe içeriyor". Düşüncesi olan var mı? –Sorun değil. Ek kodlarınızı kopyaladım ve yapıştırdım ve Müşteri ile Adres arasında çoktan çok yeni bir ilişki oluşturarak mükemmel bir şekilde çalıştım, böylece istisnayı yeniden oluşturamıyorum. Tam nesne modelinizi ve müşteri kodunuzu gönderebilir misiniz? –