0

如何在 C# 3.0 中使我的 Linq to Sql 类 IEnumerable 或对象 IEnumerable

4

3 回答 3

2

要在 C# 中使对象可枚举,您将实现 IEnumerable 接口

public class Widget{}
public class WidgetCollection : IEnumerable<Widget>
{
    public IEnumerator<Widget> GetEnumerator()
    {
        throw new NotImplementedException();
    }

    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
    {
        return this.GetEnumerator();
    }

}

至于你问题的第二部分,我不确定你在问什么或试图做什么。

于 2009-05-14T14:59:20.063 回答
0

我不确定“使我的 Linq to SQL 类 IEnumerable”是什么意思。但是,在您的控制器中(假设为 ASP.NET MVC)...

WidgetDataContext dataContext = new WidgetDataContext();

var data = dataContext.Widgets.OrderBy(x => x.name);

return View(data);

在这种情况下,视图将能够简单地将data对象(Model在视图中调用)转换为 anIEnumerable<Widget>并且可以通过它进行遍历。

这是(上面有乔希的回答)这个问题吗?

于 2009-05-14T15:01:53.617 回答
0

如果您正在谈论 LinqToSql 生成的类,那么您将在部分类中进行

public partial class YourLinqToSqlClass : IEnumerable
{
    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
    {
        //Implement...
    }

}
于 2009-05-14T15:03:10.447 回答