0

왜 이렇게 # $ * % 열심히합니까? 그러지 마라.EF Fluent - 바보 외래 키가있는 필수 하나에 필요한 것을 매핑하는 방법? (잘못된 외래 키 Table_TableId)

두 테이블 주문 & 화주 :

public class Order : Entity 
{ 
    public int OrderId { get; set; } 
    public int ShipVia { get; set; } 
    //More properties 
    public virtual Shipper Shipper { get; set; } 
} 

public class Shipper : Entity 
{ 
    public int ShipperId { get; set; } 
    //More properties 
} 

내가 실행 Orders.ship_via, int로는 Shippers.ShipperId는 화주

내 기관에 PK입니다 을 Shippers.ShipperId하는 FK이다 이 EF는 Order.Shipper를 사용하여 자연적으로 Order.Shipper를 채우려고합니다. 존재하지 않습니다.

특수 효과를 사용하고 싶지 않습니다. 유창한지도를 만들려면 어떻게해야합니까?

(참고 : 내 테스트 환경에서는 테스트를 실행하려면 Northwind를 사용합니다.) 이 같은

답변

2

시도 뭔가 :

modelBuilder.Entity<Order>() 
    .HasRequired(o => o.Shipper) // Or .HasOptional if it's not required 
    .WithMany() // No reverse navigation property 
    .HasForeignKey(o => o.ShipVia) 
    .WillCascadeOnDelete(true); 
+0

그래, 그게이었다. Aaargh !! – Rap