【发布时间】:2023-03-21 11:52:01
【问题描述】:
我已经创建了数据库和表以及每个表的模型类,它们具有与列名相同的属性。
我如何在控制器类 [Asp.Net MVC] 中创建一个方法来向用户返回音乐推荐列表,即用户朋友库中的音乐。
每个用户在他们的库中都有一个音乐曲目列表,每个用户都有一个朋友(用户)列表。推荐是所有音乐曲目,这些曲目归用户的直接朋友所有,但不归用户所有。
类似地使用 MusicInfoDBContext 类和Dbsets: public DbSet<Users> Users{ get; set; }
以下是方法的签名:
List<Music> getMusicRecommendations(User user);
DBScript 如下:
CREATE DATABASE OnlineMusicStore
CREATE TABLE Users(
ID int primary key identity(1,1),
Username nvarchar(255)
)
CREATE TABLE Music
(
ID int primary key identity(1,1),
MusicName nvarchar(255),
)
CREATE TABLE Users_Music
(
UserId int foreign key references Users(ID),
MusicId int foreign key references Music(ID)
)
CREATE TABLE Users_Friends
(
UserId int foreign key references Users(ID),
FriendId int foreign key references Users(ID)
)
public class Users
{
public int ID { get; set; }
public string UserName { get; set; }
}
public class Music
{
public int ID { get; set; }
public string MusicName { get; set; }
}
public class Users_Music
{
public int UserId { get; set; }
public int MusicId { get; set; }
}
public class Users_Friends
{
public int UserId { get; set; }
public int FriendId { get; set; }
}
任何人都可以详细说明解决方案,因为我可以更好地理解它。 我的一位朋友建议使用:
recommendations = AllFriendsMusicList.Except(user.MusicList)
【问题讨论】:
标签: sql asp.net asp.net-mvc sql-server-2008 asp.net-mvc-3