0
我有一個與另一個實體有關係的實體。我能夠搜索主實體中的列,幷包含關係實體中的列。但是我需要能夠過濾不在關係實體中的列的列表(搜索)。JQgrid /實體框架問題與有關係的實體
例如
發票實體包含了CustomerID屬性,關係到包含客戶名稱屬性
我需要能夠通過客戶名稱搜索/過濾電網的客戶實體。
我是新來的實體框架,請大家幫忙。
感謝
卡爾
我有一個與另一個實體有關係的實體。我能夠搜索主實體中的列,幷包含關係實體中的列。但是我需要能夠過濾不在關係實體中的列的列表(搜索)。JQgrid /實體框架問題與有關係的實體
例如
發票實體包含了CustomerID屬性,關係到包含客戶名稱屬性
我需要能夠通過客戶名稱搜索/過濾電網的客戶實體。
我是新來的實體框架,請大家幫忙。
感謝
卡爾
你的關係是1> 1。在這些情況下,我通常會返回一個自定義類到網格,該網格包含我需要的所有列,包括與其他表的連接。
所以基本上你需要的是用你的結果集創建一個自定義的linq查詢。
的MAIS查詢應該遵循這個例子:
var q = from i in ctx.Invoices
join c in ctx.Customers on i.CustomerID equals c.CustomerID
select new{InvoiceID=i.InvoiceID, InvoiceDate=i.Date, CustomerName=c.Name};
現在,假設我們收到客戶名稱變量與字符串由c.Name過濾,我們可以這樣做:
if(!string.IsNullOrEmpty(CustomerName))
{
q = q.where(c => c.Name.ToLower().Contains(CustomerName.ToLower()));
}
請注意,我在執行ToLower()操作和Contains時,這將具有LIKE ingnoring大小寫敏感性,並在Customer Name中的任何位置搜索字符串。
最後,您將返回序列化爲jqGrid的q.ToList()...