2010-12-14 61 views
3

我在爲我的下一個項目使用NetTiers進行評估。關於修改NetTiers的建議

問題是: 我的模式中的每個表都有一個AccountId字段。隨着對DAL的每個請求,我希望它成爲AccountId被傳遞並用作查詢中的過濾器的要求。

如果使用此參數產生了額外的重載,那將是可以接受的。

我懷疑這個功能是不是內置的,所以任何人都可以提供任何建議,從哪裏開始修改模板來添加它?

回答

3

修改NetTiers模板並不困難,一旦你知道自己生成的類的迷宮的方式,但它通常很繁瑣,而且很容易出錯。

我的第一個假設是,您生成的數據庫要麼只有幾個表,要麼是非規格化的 - 否則在每個表中都有一個AccountId列是沒有意義的。如果是後者且結構無法正常化,則認爲基於數據庫外鍵(包括DeepLo​​ads)使用額外的AccountId過濾器來獲取所有構建它的導航屬性將是一個相當大的改變。

此外,您提到添加包含AccountId的重載將是一個可接受的解決方案。然而,這將保持現有NetTiers重載不需要ACCOUNTID參數任何DAL消費者...

總之,這裏的一些地區的總結,你會需要考慮修改:

我一般建議是,雖然NetTiers和CodeSmith的是選擇的工具,幾年前建設DALS,我不能建議走這條路,這些天。隨着微軟實體框架和開源NHibernate的發展,你不再需要深入研究數據訪問管道層(即使只是在代碼生成層面)。

+0

一些優秀的技巧,從哪裏開始整個nettiers作爲一個整體,而不是具體的我的問題。謝謝 – 2011-04-13 09:34:49