我正在構建一個包含Azure託管的MVC Web Api和iOS應用程序的項目。我試圖使用Xamarin來構建應用程序。據我瞭解,我應該在我的Xamarin項目中使用一個可移植的類庫,以允許我在Web Api項目和Xamarin應用程序之間共享代碼,以及在android等其他平臺上的任何未來應用程序之間共享代碼。Xamarin便攜庫 - 如何共享類
所以,我想把我的模型放在便攜式庫中。該應用程序和Web API將來回傳遞這些模型。但是,便攜式庫沒有Azure表存儲庫。它甚至沒有一些非常基本的東西。我的模型需要引用Azure存儲庫,以便將實例保存到存儲。
使這段代碼可以共享的最佳方式是什麼?顯然我需要複製我的模型類,以便它們可以存在於每個位置。但是,如果PCL中的那些繼承了Web Api項目中的那些呢?反之亦然?是否應該有一個既能從中繼承的接口(實際上,Azure表存儲庫要求這些類已經從ITableEntity繼承...)。只是尋找在Web Api項目和Xamarin項目使用的PCL之間共享這些類的最佳方式。
謝謝喬恩看到的源泉!這就是我需要知道的。我將把POCO放在PCL中,並在Web API項目中繼承它們。 –
Jon,一個小小的障礙 - 我在Web API項目中的類需要繼承自Microsoft.WindowsAzure.Storage.Table.TableEntity。這意味着他們不能從PCL中的POCO繼承。在這種情況下最好的方法是什麼 - 你會創建一組繼承自POCO的中間類,然後從這些中間類派生你的Web API類嗎?這似乎很混亂,但我沒有任何更好的想法... –
看起來像@MikeWo在這裏的答案http://stackoverflow.com/questions/33912186/using-pocos-when-persisting-to-azure-table在Rory Primrose的鏈接中,存儲有一些很好的選擇,雖然它們可能會超出我目前的技能水平。似乎你可以繼承POCO並實施ITableEntity,並且也可以避開它,儘管這並不理想。 –