Conservation Entities
Entities for conservation programs, fish tagging, and program participation.
ConservationProgram
Purpose: Conservation programs (tagging, catch-and-release, etc.).
Key Fields:
Id(int): Unique identifierProgramName: Program nameDescription: Program descriptionProgramCode: Official program codeOrganizationName: Organization (DNR, NOAA, etc.)OrganizationWebsite: Organization websiteContactEmail,ContactPhone: Contact informationProgramType: Tagging, CatchAndRelease, HabitatRestoration, etc.StateId: State-specific programGeographicScope: Statewide, Regional, NationalRequiresRegistration: Whether registration requiredProvidesTags: Whether provides tags for fishRequiresReporting: Whether requires catch reportingInstructions: Program instructionsIsActive: Whether program is activeStartDate,EndDate: Program dates
Relationships:
- Many-to-one: State
- One-to-many: ProgramParticipation, FishTag
Usage Patterns:
// Get active programs
var programs = context.ConservationPrograms
.Where(cp => cp.IsActive)
.Include(cp => cp.State)
.ToList();
// Get user's program participations
var participations = context.ProgramParticipations
.Where(pp => pp.UserId == userId)
.Include(pp => pp.ConservationProgram)
.ToList();
ProgramParticipation
Purpose: User participation in conservation programs.
Key Fields:
Id(int): Unique identifierConservationProgramId: Associated programUserId: Participating userRegisteredAt: Registration dateStatus: Active, Completed, InactiveTagsReceived: Number of tags receivedTagsUsed: Number of tags used
Relationships:
- Many-to-one: ConservationProgram, User
FishTag
Purpose: Fish tags for tagging programs.
Key Fields:
Id(int): Unique identifierConservationProgramId: Associated programProgramParticipationId: User participationTagNumber: Tag number/identifierTagType: External, Internal, PITIssuedAt: Issue dateAttachedToCatchId: Catch log entry tag was attached toReportedAt: When tag was reported
Relationships:
- Many-to-one: ConservationProgram, ProgramParticipation, FishingLogEntry
TagReport
Purpose: Tag reports when tagged fish are recaptured.
Key Fields:
Id(int): Unique identifierFishTagId: Reported tagReportedByUserId: User who reportedReportedAt: Report dateRecaptureLocation: Recapture locationRecaptureLatitude,RecaptureLongitude: CoordinatesFishCondition: Fish condition at recaptureNotes: Report notes
Relationships:
- Many-to-one: FishTag, User
Related Documentation
- Research Projects - Citizen science projects
- Fishing Logs - Catch logging