【问题标题】:How to return Linq query result from BLL layer to UI layer in C#如何在 C# 中将 Linq 查询结果从 BLL 层返回到 UI 层
【发布时间】:2015-03-29 08:25:08
【问题描述】:

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

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

我显然不能返回var 类型。如何将查询结果返回给UI层?

【问题讨论】:

    标签: c# asp.net linq data-access-layer 3-tier


    【解决方案1】:

    您可以返回将返回 IQueriable 的 db.DBL_TBL。例如,

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

    您也可以返回 IEnumerable 或 List。请参阅下面返回列表的示例。

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

    然后在您的 UI 中,使用返回类型。

    【讨论】:

    • 谢谢基兰。我可以使用 .dataSource() 方法将 List 返回类型绑定到像 Repeater 这样的数据控件吗?
    • 当然可以。您可以将 IQueriable、IEnumerable 和 List 作为 DataSource 属性绑定到 Releater。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      • 2016-09-30
      • 1970-01-01
      相关资源
      最近更新 更多