c# - 如何在项目之间使用模型类型?

标签 c# asp.net service-layer

我正在使用服务层 lattern,我的解决方案包含三个项目:

  • 核心
  • 服务
  • 界面

在我的 Controller 中,在 UI 项目中,我有以下代码:

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

Spotify 专辑 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'

最佳答案

您不能随意将不同类型的对象分配给彼此。即使您给它们起相同的名称,它们也是独立的实体。

假设服务和 UI 项目引用您的核心项目,您可以在核心项目中定义 SpotifyAlbums 类,并在其他层中引用该类。

关于c# - 如何在项目之间使用模型类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36847753/

相关文章:

c# - 绘制的内容在 GTK 中窗口重叠时丢失#

asp.net - 删除 IIS Express 中错误创建的虚拟目录

c# - 服务层 - 返回验证和功能结果

存储库、服务层和方法放置

asp.net - 一个服务层可以包含多个服务吗?

c# - 动态构建 Func<t,t> 列表 - 然后应用于 linq 查询

c# - Blazor - 来自后代的事件回调

c# - 如何在不重新打开文件的情况下读取然后写入/附加到文本文件?

asp.net - 使用 CSS 的 Visual Studio 设计 View

asp.net - 这是怎么回事?