-- Added Import/Export collection feature
Create an object model for the following problem domain:
- There are human musicians that have names.
- There are bands that have names and more than one musician.
- A single musician can be a member of multiple bands
- Bands and musicians (artists) can publish music albums (more than one).
- Albums have a title and publication date
- Songs have a title and a duration
You need to declare classes, interfaces, and helper objects that would enable us to do the following operations:
- Create a new musician
- Create a new band
- Assign a musician to a band
- Remove a musician from a band
- List all the musicians in a given band
- Create a new album for a given artist
- List all the albums for a given artist
- Add a new song to a given album
- List all the songs for a given album
Use the created objects to create an application that will allow us to enter at least three artists, at least one of which is a band, with at least three albums each, with at least three songs each.
Using LINQ and the data entered above, write code that will answer the following questions:
- Which artist has the longest name
- Which artist has the first recorder album
- Which artist has the last recorded album
- Which artist has most recorded albums
- Which artist has the longest song
- Which artist has the most songs?
- Which artis has the album with the most songs?
- Which artist has the longest total song duration?
- Which artist has the longest average song duration?
- In what decade were most albums recorded?
- Is there an artist that has issued more than one album in the same year?
- What is the average duration of a song?
- What is the average duration of an album?