2016-04-25 262 views
3

進出口使用的服務層龍門鎮項目之間的模型類型,和我的解決方案包含三個項目:如何使用

核心 服務 UI

在我的控制器在UI的項目,我有以下代碼:

public ActionResult AddSpotifyAlbums(List<SpotifyAlbums> albums) 
     { 
      _profileService.AddSpotifyAlbums(albums); 
      return Json(new { data = albums }); 
     } 

SpotifyAlbums在List<SpotifyAlbums>是我UI項目模型。它看起來像這樣:

public class SpotifyAlbums 
    { 
     public string URI { get; set; } 
     public int profileId { get; set; } 
    } 

正如你可以看到,即時通訊使用的服務在這裏,_profileService,調用處理該專輯的保存方法。

但是專輯的類型是SpotifyAlbums。我應該怎麼做在我的服務中,當相冊的型號類型是SpotifyAlbums

我試圖在我的服務項目中創建一個相同的模型,但它不工作。我收到以下錯誤:

Severity Code Description Project File Line Suppression State Error CS1503 Argument 1: cannot convert from 'System.Collections.Generic.List' to 'soundyladder.Service.Models.SpotifyAlbums'

ANYONE誰能幫我解決這個問題?

+2

將模型定義放入其他項目引用的類庫項目中。 – David

回答

1

您不能任意指定不同類型的對象。即使你給他們同名,他們也是獨立的實體。

假設服務和UI項目引用了您的Core項目,您可以在Core項目中定義SpotifyAlbums類,並在其他圖層中引用該類。

0

布賴恩,你需要決定哪個模塊「擁有」SpotifyAlbum。決策需要考慮數據封裝,數據訪問和數據操作方面。重要的是要建立適當的服務參考,並讓所有使用SpotifyAlbum實例的模塊從「擁有」SpotifyAlbum的模塊中獲取它。然後所有其他模塊將具有通過對「擁有」模塊的引用而構建的代理類。

0

我使用相同的設計模式(基於資源的可信子系統)。我喜歡使用包含通用代碼和共享模型的.dll。然後所有項目都會爲模型定義引用.dll。