我有以下的LINQ表達式返回嵌套的別名LINQ表達
var tooDeep = shoppers
.Where(x => x.Cart.CartSuppliers.First().Name == "Supplier1")
.ToList();
我需要把名字部分進入下面的字符串。
x.Cart.CartSuppliers.Name
作爲這個的一部分,我把表達式轉換成一個字符串,然後分割。並刪除了First()參數。但是,當我到達CartSuppliers時,將返回一個Suppliers []數組。有沒有辦法從這個單一的類型。例如。我需要找回供應商。
更新:得到它的工作
var fullName = m.ToString().Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
// this supports the "deep graph" name - "Product.Address.City"
var fixedName = fullName.Skip(1).Take(fullName.Length - 1)
.Where(x => x != "First()")
.Select(x => System.Text.RegularExpressions.Regex.Replace(x, @"\[[0-9]+\]",""))
.ToArray();
與此:
var prop = property.PropertyType.HasElementType ? property.PropertyType.GetElementType() property.PropertyType;
這使是找到一個數組中的各個類型。
感謝
對不起,您在此行上丟失了我:我需要將名稱部分轉換爲以下字符串。 x.Cart.CartSuppliers.Name – 2010-04-22 01:48:04