我想用paremeter更改where子句。示例中我有2個字符串變量。Lambda表達式if-else語句在where子句中
string searchText="John";
string userField="Name"//it can be ID,UserName or Email
我想改變用戶屬性(a.Name)根據 「字符串userField =」 名稱 「/」
var a entities.Users
where a.Name==searchText //a.Name(Name) is declared in userField. It can be ID,UserName or Email
我的代碼如下所示:
var users = new
{
total = 10,
page = page,
record = (entities.Users.Count()),
rows = (from user in entities.Users
select new
{
ID = user.ID,
Name = user.Name,
UserName = user.UserName,
UserType = user.Role.Name,
Email = user.Email,
CreatedDate = user.CreatedDate,
UpdatedDate = user.UpdatedDate
}).AsEnumerable().Select(m => new { ID = m.ID, Name = m.Name, UserName = m.UserName, Email = m.Email, UserType = m.UserType, CreatedDate = String.Format("{0:d/M/yyyy HH:mm:ss}", m.CreatedDate), UpdatedDate = String.Format("{0:d/M/yyyy HH:mm:ss}", m.UpdatedDate) }),
};
如何我可以用這個拉姆達表達來做到嗎?
所以這裏的挑戰是真的,你有一個包含「名稱」的字符串,你要,要了鏈接的屬性在被查詢的對象上有相同的名字? – Tormod
不清楚你在問什麼。你想按條件篩選查詢嗎? –
謝謝你的回答。我想根據「字符串userField =」名稱「/」更改用戶屬性。問題已更新。 – fuat