私のアプリケーションには製品とベンダーがあり、どちらも「持っている」関係にある同様のアイテムを持っています...特に、ユーザーがそれらをブックマークできるように「お気に入り」を持っています。
だから私たちは持っています:
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とProduct.Favoritesが常にnullであるということです。
このようなオブジェクトを操作できるように、これらをバインドするにはどうすればよいですか?別のエンティティにしませんか?
ありがとう!
更新:私はMVC3コードファーストをPOCOで使用していることに注意する必要があります。
更新:解決策:
これは理想的ではないと思いますが、お気に入りやレビューを追加するための冗長なコードが追加されるため、これをどのように機能させたいかという問題を解決しています。
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変数をfavoritesクラスに含めると機能しますが、favoritesクラスを他のオブジェクトで使用する場合は、オブジェクトのキーへの新しいマッピングでfavoritesプロパティを変更する必要があります。好奇心から、これらのクラスを通常処理する場合、これらのオブジェクトのデータストレージをどのように管理しますか?あなたがDALでそれを扱っていると思いますか?