N层图层 - 将详细信息加载到对象中

时间:2013-02-10 15:34:01

标签: c# .net vb.net n-tier-architecture

我使用以下结构创建了一个网站:

班级项目 - 名为DataAccessLayer>添加了数据集>使用名为GetcustomersByID(ID)

的查询添加tableAdapter和Datatable

班级项目 - 名为BusinessLayer>创建了一些代码来调用DataAccessLayer并在CustomerDataTable中返回查询GetcustomersByID(ID)的结果

Web项目 - 添加了对BusinessLayer的引用。

从这一点开始,我可以添加一个ObjectDataSource并将其绑定到业务层并调用适当的方法(在此示例中为GetCustomersByID(ID))。

然后我想添加一个额外的图层,我希望将所有客户数据加载到客户对象中。所以我添加另一个名为 Customers ,并将所有字段添加为[B]属性[/ B](CustomerID,FirstName,Surname,AddressOne等)。

我如何将BusinessLayer中的所有细节加载到此对象中,因此我可以编写代码,例如

Dim myCustomer as Customer
....
...... Some code to get the data and load it into the Customer object.

If myCustomer.Firstname = "Bob" Then
....
End If

1 个答案:

答案 0 :(得分:0)

为了从数据表中提取数据,您可以执行以下操作:

Customer customer = dt.AsEnumerable().Select(row => 
        // construct and map all the properties
        new Customer
        {
            Id = row.Field<int>("Id"),
            Firstname = row.Field<string>("Name")
        }).FirstOrDefault();

在VB.NET中就是这样(虽然,我不是VB人):

Dim customer As Customer = dt.AsEnumerable().[Select](Function(row) New Customer() With     { _
    Key .Id = row.Field(Of Integer)("Id"), _
    Key .Firstname = row.Field(Of String)("Name") _
}).FirstOrDefault()