2013-08-29 37 views
0

我有一個通用的組成員表的GUID爲「組類型」和「引用對象」的GUID。一個例子是如果我有一張客戶表(每個客戶都有一個GUID),我可以通過創建一個組GUID並在我的「組成員表」中通過各自的GUID引用每個客戶來將他們分組在「已付款」下。這允許在擴展時將任何類型的組添加到模型中(不添加額外的表格)。運行時加入lightswitch

這是問題所在。我在實體中創建了一個子查詢,以過濾某個組的通用組成員表以及哪些「項目」不在該組中;像這樣:

partial void ElementsNotMemberOfGroup_PreprocessQuery(int? UniversalGroupTypeIDParameter, int? UniversalGroupsIDParameter, ref IQueryable<UniversalGroupMember> query) 
    { 
     query = query.Where(x => x.UniversalGroup.UniversalGroupType.UniversalGroupTypeID == UniversalGroupTypeIDParameter); 
     query = query.Where(x => x.UniversalGroup.UniversalGroupsID != UniversalGroupsIDParameter); 
    } 

這將返回組中引用對象的GUID,但是對於無用的用戶。我需要在GUID上運行時加入此表和我的客戶表,以便提取客戶信息並顯示它。

任何想法?

回答

0

LightSwitch並沒有真正創建這種場景。當您在表格之間創建關係時,LightSwitch使您的工作變得非常容易,當然,這些關係也是「相關」的。當你這樣做時,你永遠不需要手動加入實體之間的

雖然它可能做點什麼類似給你描述(見下面的鏈接)是什麼,這是一個大量的工作來實現它,在我看來它是不是真的值得額外的麻煩。不僅如此,但正如你發現的那樣,即使是最簡單的操作也會變得複雜。

本質上,你在 LightSwitch,而不是它。我給你的建議是,如果你真的必須這樣做類型的手動優化,然後LightSwitch的可能不是你用最好的產品。

Beth Massi有一篇博客文章,Using Different Edit Screens Based on Record Types (Table Inheritance),這不完全是你在做什麼,但如果你決定仍然使用LightSwitch作爲你的項目,它可能會給你一些想法。