내 응용 프로그램에는 제품과 공급 업체가 있으며 두 제품 모두 "관련있는"관계로 비슷한 항목이 있습니다 ... 특히 사용자가 즐겨 찾기에 추가 할 수 있도록 "즐겨 찾기"가 있습니다.asp.NET MVC 3 복합 패턴 모델 바인딩
public class Product
{
public int ProductId {get;set;}
public int Name {get;set;}
public List<Favorite> Favorites {get;set;}
}
public class Vendor
{
public int VendorId {get;set;}
public int Name {get;set;}
public List<Favorite> Favorites {get;set;}
}
public class Favorite
{
public int FavoriteId {get;set;}
public string UserName {get;set;}
}
이 처음이 작동하지 않았다, 그래서 나는 추가 :
그래서 우리는이public int? VendorId {get;set;}
public int? ProductId {get;set;}
지금 내가 데 문제가 나의 Vendor.Favorites 및 제품. 즐겨 찾기는 항상 null입니다.
어떻게 이러한 개체를 사용하여 이러한 개체를 사용할 수 있습니까? 별도의 법인으로 만들지 않습니까?
감사합니다.
업데이트 : MVC 3 코드 우선을 POCO와 함께 사용하고 있음에 유의해야합니다.
UPDATE : 솔루션 :
나는이 생각하지 않습니다 아직도 내가 뭔가를 즐겨 찾기 및 리뷰를 추가 중복 코드를 추가하기 때문에이 작업을하는 방법으로 단점을 보완 작업에 이상적입니다.
public class Product
{
public int ProductId {get;set;}
public int Name {get;set;}
public virtual List<Favorite> Favorites {get;set;}
}
public class Vendor
{
public int VendorId {get;set;}
public int Name {get;set;}
public virtual List<Favorite> Favorites {get;set;}
}
클래스가 작동하게 즐겨 찾기에 원시 널 (NULL)의 INT 변수를 갖는,하지만 난 다른 물체로 즐겨 찾기 클래스를 사용하기를 원한다면 나는의 키에 새로운 매핑 즐겨 찾기 속성을 수정해야합니다 그 물체. 호기심에서 이러한 클래스를 정상적으로 처리 할 때 이러한 객체에 대한 데이터 저장소는 어떻게 관리합니까? DAL에서 처리한다고 가정하고 있습니까?
이것은 거꾸로 끝나지 만 올바른 곳에서 나를 잡았습니다. int가 필요합니다. 응용 프로그램이 원시 매핑을 가질 수 있고 순환 참조가 없습니다 (끔찍한). 공용 목록을 공개 가상 목록 으로 변경하여 모든 사용자가 만족 스러웠습니다. –
Snowburnt