簡體   English   中英

LINQ查詢十進制並將返回的十進制轉換為字符串

[英]LINQ query decimal and return decimal converted to string

嘗試使用Linq查詢訂單總計並將其返回為標簽.asp.net中的文本

頁面加載:

IQueryable<decimal> OrderTotal = GetTotal(orderId);
total.Text = OrderTotal.ToString();

方法:

public IQueryable<decimal> GetTotal(int? orderId)
{
    var q = _db.Orders.Where(x => x.OrderId == orderId).Select(x => x.Total);
    return q;
}

結果:

SELECT [Extent1].[Total] AS [Total] FROM [dbo].[Orders] AS [Extent1] WHERE [Extent1].[OrderId] = @p__linq__0

為什么不返回總數作為數字? 而是一個T-Sql查詢?

所述IQueriable<T>接口指的序列T ,不是單個實例T 如果您嘗試從數據庫中獲取單個值並將單個文本框設置為該值,則將無法使用。

將方法簽名更改為

public decimal GetTotal(int? orderId)
{
    var q = _db.Orders.Where(x => x.OrderId == orderId).Select(x => x.Total);
    return q.FirstOrDefault();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM