【问题标题】:LINQ how to concatenate 2 db columns to display in dropdownlistLINQ如何连接2个数据库列以显示在下拉列表中
【发布时间】:2012-11-13 10:54:07
【问题描述】:

我正在尝试使用 LINQ 将 product_name 与 product_prize_kg 连接起来,以便将其显示为下拉列表中的一个字段。当我尝试这样做时,我收到以下错误。

“system.collections.generic.list(匿名类型)”类型的值 无法转换为...

我的代码是这样的:

Public Function selectAll() As List(Of tblProduct)
    Dim result = From product In dc.tblProducts
                 Select New With
                 {
                    Key .productID = product.pk_product_id,
                    Key .productNameKg = Convert.ToString(product.product_name) & " " & Convert.ToString(product.product_price_kg)
                 }

    Return result.ToList()
End Function

这是我要填写的下拉列表。

    <asp:DropDownList ID="DropDownList1" runat="server" 
        DataSourceID="ObjectDataSource1" DataTextField="productNameKg" 
        DataValueField="productID">
    </asp:DropDownList>

谢谢

Grtz Simke

【问题讨论】:

    标签: asp.net .net vb.net linq


    【解决方案1】:
    Public Function selectAll() As List(Of Product)
        Dim result = From product In tblProducts
                     Select New Product With
                 {
                    .ProductId = product.pk_product_id,
                    .ProductNameKg = Convert.ToString(product.product_name) & " " & Convert.ToString(product.product_price_kg)
                 }
    
    
        Return result.ToList()
    End Function
    
    
    
    Public Class Product
    
        Property ProductId As String
    
        Property ProductNameKg As String
    
    End Class
    

    【讨论】:

    • 不起作用。我在第一个括号 ( { ) 处收到错误:在对象初始化程序中初始化的字段或属性的名称必须以“。”开头感谢您的帮助
    • 如果我删除 .productID 前面的密钥,错误就会消失,但我会收到一个新错误:'productID' is not a member of 'tblProduct' 但我想做的是创建我自己的成员,所以我可以在下拉列表中显示 2 个字段。我可以在下拉列表中显示 product_name,但不能在 product_name + product_prize_kg 中显示。
    • 您试图将其作为 List(of tblProduct) 返回,但您正在创建一个具有两个属性(productID 和 productNameKg)的匿名类型。如果您希望返回列表,您需要创建具有这两个属性的类。如果您没有将它作为函数的值返回(即在同一方法中进行绑定调用和 Linq 查询),那么它会起作用。
    • 谢谢,我试试看!!
    • 我又为你更新了答案!抱歉,我正在即时将 C# 转换为 VB.NET
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多