如何使这个C#类和方法静态?

时间:2013-12-20 11:48:54

标签: c# linq-to-entities

我是一名新的ASP.NET开发人员,我正在尝试学习Linq-To-Entities。我正在尝试在我的数据访问层中创建一个名为Items的静态类。此类有一个方法来检索Items Entity中的所有记录。然后,我将使用它将GridView绑定到它。 问题是当我将该类作为静态类并且我不知道原因时,我在getData()方法中遇到以下错误:

enter image description here

C#代码:

public static class Items
{
    //properties
    public int ID { get; set; }
    public string Code { get; set; }
    public int ItemTypeID { get; set; }
    public string Name { get; set; }
    public int StatusID { get; set; }


    public static IEnumerable<Items> getData()
    {
        List<Items> itemsList = new List<Items>();
        using (ItemsDBEntities context = new ItemsDBEntities())
        {
            itemsList = (from item in context.Items
                        select new Items()
                        {
                            ID = item.ID,
                            Code = item.Code,
                            Name = item.Name,
                            StatusID = item.StatusID
                        }).ToList();
        }
        return itemsList;
    }

您能否告诉我如何解决此错误?

2 个答案:

答案 0 :(得分:3)

  

您能否告诉我如何解决此错误?

//public static class Items
public class Items
{
}

Items不应该是static的原因很清楚。

getData()方法可以保持静态,但这似乎不是必需或有用的。它只是让测试变得更难。在ASP.NET中研究状态管理和静态的使用。

  • 要问问自己为什么你认为它需要是静态的。
  • IdName属性的任何内容均为Item,而不是Items
  • 在C#中我们使用方法GetData()

答案 1 :(得分:0)

只需删除Items类的静态声明..