2009-09-23 3 views
0

참조가있는 엔티티에 값을 할당하는 데 문제가 있습니다. 나는 intellisense 및 모든 얻을하지만 데이터베이스에 저장하는 함수에 전달 된 개체에 할당하려고하면 null 참조 예외가 발생합니다.엔티티 프레임 워크를 사용하여 참조가있는 열에 값 지정

 public ActionResult BookingViewEdit([Bind(Include = "BookingViewID,Enabled,ObjectLimit,RSSenabled")]BookingView bv, int selCustomers) 
    { 
     bv.Customers.CustomerID = selCustomers; 

     _bvs.SaveBookingView(bv); 

CustomerID 값을 할당하려면 어떻게해야합니까? FK 키는 "BookingView"표에 있으며, 방금 "bv"를 누르면됩니다. 거기에 CustomerID가 없습니다. 사전에

감사

/M

+0

할당하려는 BookingView 객체가 새 것이거나 적어도 한 번 이상 데이터베이스에 이미 저장되어 있습니까? 많은 고객에게 BookingView와 고객 예약보기 간의 관계는 무엇입니까? 데이터 모델의 기초를 제공하는 것이 여기에 가치가있는 것처럼 보입니다 (외부 키가 nullable인지 등). –

+0

nullable이 아니며 각 "BookingView"에 "CustomerID"가 있어야합니다. null이 아닌 FK –

답변

1

는 "고객"실제로 단일 고객,하지가리스트인가? , 분명히

bv.CustomerReference.EntityKey = new EntityKey("MyEntities.Customers", "CustomerId", selCustomers); 

실제 개체 컨텍스트와 엔티티 집합 이름으로 "MyEntities.Customers을"대체 :이 경우

, 당신은 뭔가를 할 수 있습니다.

매우 단일 개체에 대해 복수의 인수/속성 이름을 사용하는 것이 혼란 스럽습니다.

+0

엔티티 다이어그램에는 복수형이 없습니다. 그래서 거기에있는 클래스는 고객 –

+0

입니다. 클래스는 고객이어야합니다 (가지고있는대로). 엔터티 집합 이름은 Customers 여야합니다. selCustomers 인수는 selCustomer 여야합니다 (또는 FxCop 규칙, selectedCustomer 당 더 좋습니다). bv.Customer는 bv.Customer 여야합니다. –

관련 문제