'System.Data.Objects.ObjectSet <Webshop.Product>'不包含'Find'的定义,也没有扩展方法'Find'

时间:2019-11-25 23:51:00

标签: c# asp.net

您好,我正在网上商店进行asp.net贴标,并且遇到了一个奇怪的错误问题,in the Find命令,Visual Studio无法找到该命令我需要做什么?,我正在使用Visual Studio 2010,因为该代码正在尝试实现是在Visual Studio 2010中完成的

这是代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Webshop.Models
{
    public class ProductTypeModel
    {
        public string InsertProductType(ProductType productType)
        {
            try
            {

                webshopEntities db = new webshopEntities();
                db.ProductTypes.AddObject(productType);
                db.SaveChanges();

                return productType.Name + "was succesfully inserted";
            }

            catch (Exception e)
            {
                return "Error:" + e;
            }

        }

        public string UpdateProductType(int id, ProductType productType)
        {


            try
            {
                webshopEntities db = new webshopEntities();

                // Merret objekti nga db
                ProductType p = db.ProductTypes.Find(id);

                p.Name = productType.Name;


                db.SaveChanges();
                return productType.Name + "was succesfully updated";
            }

            catch (Exception e)
            {

                return "Error:" + e;


            }





        }

        public string DeleteProductType(int id)
        {
            try
            {

                webshopEntities db = new webshopEntities();
                ProductType productType = db.ProductTypes.Find(id);

                db.ProductTypes.Attach(productType);
                db.ProductTypes.DeleteObject(productType);
                db.SaveChanges();
                return productType.Name + "was succesfully deleted";
            }

            catch (Exception e)
            {
                return "Error:" + e;

            }





        }




    }








}


这是编译器错误

Compiler Error

1 个答案:

答案 0 :(得分:0)

从错误中我可以看到您使用ObjectSet<TEntity>,它没有documentation中所见的Find()方法。如果要使用Find()方法,则首先需要将ObjectSet强制转换为List,例如:db.ProductTypes.ToList(),要使用此方法,必须具有using System.Linq