如何在C#中return从BLL层到UI层的Linq查询结果

How to return Linq query result from BLL layer to UI layer in C#

我是 .NET 框架的新手。我正在开发一个使用 Linq to SQL 进行数据访问的 3 层 ASP.NET 应用程序。我不知道如何 return Linq to SQL 结果到 UI 层。 在 BLL 上,我有这样的代码:

dataContex db = new dataContex;
var data = db.DB_TBL;

我显然不能return var打字。如何return查询结果到UI层?

您可以 return db.DBL_TBL 这将 return IQueriable。例如,

public IQueriable<DB_TBL> GetTable()
{
    dataContex db = new dataContex;
    return db.DB_TBL
}

您也可以 return IEnumerable 或 List。请参阅下面的示例,其中 returns List.

public List<DB_TBL> GetTable()
{
    dataContex db = new dataContex;
    return db.DB_TBL.ToList();
}

然后在您的 UI 中使用 return 类型。

实际上像转发器一样绑定到控件仍然发生在服务器端。要将您的数据直接发送到 UI,请查看 JSON。这是处理数据传输的更好方法(您只传输数据而不是数据+标记,因为它是通过使用服务器端控件发生的)。

并且由于您是新手,我建议您使用 UI 上的数据,因为它为您提供了很大的灵活性。而且你保持代码干净。