2010-01-08 37 views
1

當其他實體我們是內部應用評價LINQ2SQL,和我們的發展方針意味着我們必須始終爲所有CRUD操作的存儲過程,從各種博客我人聚在一起,做多的應用我們想要什麼。指的使用LINQ2SQL和存儲過程

但是,我想要做的是當我們有兩個實體之間的關係可以自動滿足關係。

舉例來說,如果我有一個Person對象的實例,我想能夠說

VAR absenceCount = persons.Absence.Count()

,而是因爲我們沒有在特定的權限缺席表我們得到一個Sql異常。

反正有嗎?

回答

0

通過我碰到一對夫婦的博客文章這證明這是可能的來純屬偶然,我已經測試它和它的工作原理治療

稱爲負載調用基本上有方法到您的存儲過程中添加到您的DataContext類將使這個工作

鏈接舉例這裏

Damien Guard

Msdn

0

通過對所有數據庫操作使用存儲過程,將失去像Linq-To-SQL和使用LINQ查詢之類的ORM的大多數好處。例如,通過使用存儲過程檢索所有數據,您將失去對所有查詢進行強類型檢查的能力。

當然,你可以仍然使用L2S存儲過程,但我真的不明白這一點的,如果你所有的查詢操作都必須通過存儲過程來完成。

要回答你的第二個問題,你怎麼能指望L2S能夠填充缺失表,如果你沒有權限做對錶一個選擇?如果L2S在某種程度上能夠做到這一點,那麼您建立的安全性的重點是什麼?

蘭迪

+0

我的理解是,當你放棄了選擇存儲過程到在設計表,這也成爲選擇表格(儘管多麼的低效,也許)我想這是不是這樣 –

+0

是的,但你仍然只是使用L2S來執行存儲過程來檢索數據。 L2S在這裏並沒有真正提供任何價值,而且你的查詢仍然沒有很強的類型檢查。 –

+1

使用L2S有一個顯而易見的好處,那就是它生成一個DAL並創建映射,而UOW是我們唯一缺少的問題,即entityref不能被讀取。 –