簡體   English   中英

在BindingSource LINQ中獲取屬性值

[英]Get a Property value in a BindingSource LINQ

以下是我的bindingSource。

pics_Data_HistoryBSForCounts.DataSource = from dh in dataCtx.Pics_Data_Histories
                                                        join ui in dataCtx.User_Infos on dh.User_Id equals ui.user_id into ui_dh
                                                        from ui_dh1 in ui_dh.DefaultIfEmpty()
                                                        where dh.Changed_Date >= fromDate && dh.Changed_Date <= toDate
                                                        group ui_dh1 by ui_dh1.user_name into grouped
                                                      select new { UserName = grouped.Key.Trim(), Count = grouped.Count(a => a.user_name != null), UserID = grouped.FirstOrDefault().user_id };

我想獲取當前記錄的UserID。

var userRecord = pics_Data_HistoryBSForCounts.Current;

我以字符串形式獲取當前記錄。 有什么方法可以獲取屬性值?

謝謝!

BindingSource.Current是一個object 您可以將其強制轉換為IQueryable<T>類型(dataCtx.Pics_Data_Histories)。 但這是一個匿名類型,因此更容易使用命名類型(否則只能使用Reflection提取屬性值)。

因此,假設您有一個類UserData (具有UserNameCountUserID )。 查詢的select部分是:

select new UserData { UserName = grouped.Key.Trim(), ...

和演員:

var userRecord = (UserData)pics_Data_HistoryBSForCounts.Current;

暫無
暫無

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

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