處理 LINQ to SQL 連接中的匿名類型
LINQ to SQL 連接對於從多個表中檢索數據非常強大。 但是,從這些連接直接返回匿名類型可能會導致類型不匹配,尤其是在使用非泛型方法時。
假設我們有兩個表:“Dogs”(Name、Age、BreedId)和“Breeds”(BreedId、BreedName)。 如果您返回 IQueryable<Dog>
.
當您嘗試在 BreedName
語句中使用匿名類型將 select
包含在結果中時,就會出現問題。這通常會導致與類型相關的錯誤。
優雅的解決方案:自定義類
一種更易於維護的方法是定義一個可重用的類來表示組合數據,而不是為每個查詢創建新的自定義類型。 對於此示例,我們將創建一個包含 DogWithBreed
對象和 Dog
字符串的 BreedName
類。
通過修改查詢以在 DogWithBreed
語句中使用此 select
類,您可以實現類型安全且可擴展的解決方案。這避免了匿名類型的複雜性,同時保持了靈活性。 結果是強類型的 IQueryable<DogWithBreed>
,使您的代碼更乾淨且更易於維護。
以上是如何將LINQ結果返回匿名類型,而無需類型不匹配而加入SQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!