由 linq 查询 asp.net 返回的数据类型



我想在 LINQ 查询中创建一个具有多个表连接的公共函数。函数返回的函数的数据类型是什么。

谢谢

有许多可能的选项,但是,最简单的解决方案是使用object数据类型。

/// your public method
public object GetProducts()
{
    // your complex query
    // then return the anonymous type
    retutn query.ToList();
}

然后将此对象直接绑定到网格。

gridView1.DataSource = myObject.GetProducts();
gridView1.DataBind();

除了 Frazell 的回答: 如果您希望查询具有已知的返回类型,这是完全可能的:

您必须创建一个简单的类,例如 Result,其中包含要包含在查询结果中的属性:

public class Result
{
    public string Name
    {
        get;
        set;
    }
}

然后,您可以创建类似 : select new {Name = ...} 的匿名类型,而不是创建命名类型,例如:select new Result {Name = ...} 。然后查询的结果变为IQueriable<Result>。如果您拨打.ToList(),它会变得List<Result>,通过拨打.Single(),您会得到一个简单的Result

它将是调用产生的对象的类型。因此,如果您的函数将返回字符串类型的对象,那么它将是一个字符串。

LINQ 使用匿名类型,以便它可以与表达式中的对象属于同一类型。如果需要,还可以动态创建新类型。

您可能需要在 LINQ 上查看 MSDN。

相关内容

  • 没有找到相关文章

最新更新