0

ビューでコレクションをフィルター処理しようとすると、奇妙な LINQ エラーが発生します。

これは私のモデルです:

public class adminEditProductsPricelistProductsVM
{
    public Product Product { get; set; }
    public PricelistProduct pricelistProduct { get; set; }
}

これは私の見解です:

@using Pp.Lib.Models;
@using System.Linq;
@model PpLib.viewModels.admin.adminEditProductsPricelistProductsVM

@{
//get corresponding PricelistProduct
PricelistProduct thisPP = new ProofPixLib.Models.PricelistProduct();
thisPP = (from x in Model.pricelistProduct where x.ProductId == Model.Product.ProductId      select x).FirstOrDefault();   
}

VSでModel.pricelistProduct行に下線が引かれ、次のエラーが表示されます。

ソース タイプ Pp.Lib.Models.PricelistProduct のクエリ パターンの実装が見つかりませんでした。「場所」が見つかりません。

よろしくお願いします。

更新 要求どおり - ここに PricelistProduct モデルのコードがあります。

public partial class PricelistProduct
{
    public PricelistProduct()
    {
        this.PricelistProductOptions = new List<PricelistProductOption>();
    }

    [ReadOnly(true)]
    [Display(Name = "Pricelist Product ID")]
    public int PricelistProductId { get; set; }

    [ReadOnly(true)]
    [Display(Name = "Pricelist ID")]
    public int PricelistId { get; set; } //foregin key
    public virtual Pricelist Pricelist { get; set; }

    [ReadOnly(true)]
    [Display(Name = "Product ID")]
    public int ProductId { get; set; } //foreign key
    public virtual Product Product { get; set; }

    [HiddenInput]
    public int ProductCategoryId { get; set; } // not a FK but data only
    public virtual ProductCategory ProductCategory { get; set; }

    [Display(Name = "Use formula")]
    private bool _UsesFormula = true;
    public bool UsesFormula { get { return _UsesFormula; } set { _UsesFormula = value; } }

    private decimal _Price = 0;
    public decimal Price  { get { return _Price; } set { _Price = value; } }

    [Display(Name = "Use discount pricing")]
    private bool _HasDiscountPricing = false;
    public bool HasDiscountPricing { get { return _HasDiscountPricing; } set { _HasDiscountPricing = value; } }

    [Display(Name = "Local shipping price")]
    private decimal _LocalShipPrice = 0;
    public decimal LocalShipPrice { get { return _LocalShipPrice; } set { _LocalShipPrice = value; } }

    [Display(Name = "Intl. shipping price")]
    private decimal _IntlShipPrice = 0;
    public decimal IntlShipPrice { get { return _IntlShipPrice; } set { _IntlShipPrice = value; } }

    [Display(Name = "Item is taxable")]
    private bool _isTaxable = true;
    public bool isTaxable { get { return _isTaxable; } set { _isTaxable = value; } }

    public virtual List<PricelistProductOption> PricelistProductOptions { get; set; }

}
4

1 に答える 1

0

あなたのPricelistProductクラスは実装IEnumerableIQuerableインターフェースもしていません。つまり、それを照会するコレクションではありません。
多分それはModel.pricelistProduct.PricelistProductOptionsあなたのクエリにあるべきですか、それともあなたのビューモデルはコレクションであるべきですか?

連続した代入も同様に意味がありません:

@{
//get corresponding PricelistProduct
PricelistProduct thisPP = new ProofPixLib.Models.PricelistProduct();
thisPP = ..;
}
于 2013-05-14T03:17:49.043 に答える