Media Entities
Entities for media library organization, photos, videos, and articles.
MediaLibrary
Purpose: User media library organization.
Key Fields:
Id(int): Unique identifierUserId: Library ownerName: Library nameDescription: Library descriptionCategory: Fishing Trips, Tutorials, Catches, etc.IsPublic: Public library flagIsShared: Shared library flagMediaCount: Number of media items
Relationships:
- Many-to-one: User
- One-to-many: PhotoAlbum, FishingVideo, FishingArticle
Usage Patterns:
// Create media library
var library = new MediaLibrary
{{
UserId = userId,
Name = "My Fishing Trips",
Category = "Fishing Trips",
IsPublic = false
}};
// Get user's libraries
var libraries = context.MediaLibraries
.Where(ml => ml.UserId == userId)
.ToList();
PhotoAlbum
Purpose: Photo albums for organizing fishing photos.
Key Fields:
Id(int): Unique identifierMediaLibraryId: Associated libraryName: Album nameDescription: Album descriptionCoverPhotoUrl: Cover photo URLPhotoCount: Number of photosCreatedAt: Creation date
Relationships:
- Many-to-one: MediaLibrary
FishingVideo
Purpose: Fishing videos uploaded by users.
Key Fields:
Id(int): Unique identifierMediaLibraryId: Associated libraryTitle: Video titleDescription: Video descriptionVideoUrl: Video URLThumbnailUrl: Thumbnail URLDuration: Video durationViewCount: View countIsPublic: Public video flag
Relationships:
- Many-to-one: MediaLibrary
FishingArticle
Purpose: Fishing articles and blog posts.
Key Fields:
Id(int): Unique identifierMediaLibraryId: Associated libraryTitle: Article titleContent: Article contentExcerpt: Article excerptFeaturedImageUrl: Featured imageIsPublished: Published flagPublishedAt: Publication dateViewCount: View count
Relationships:
- Many-to-one: MediaLibrary
Related Documentation
- Social Features - Post media attachments
- Fishing Logs - Catch photos